Python Django框架笔记(二):创建应用和django 管理
#前提是已经创建项目
(一) 创建应用
使用命令,在项目中创建一个应用(blog自定义)
python manage.py startapp blog
创建完成后,可以看到下面几个文件

|
文件名 |
说明 |
|
migrations |
修改数据库表结构记录 |
|
__init__.py |
告诉Python这是一个包 |
|
admin.py |
模型要在Django的管理工具中显示,必须在这个文件中注册模型 |
|
apps.py |
配置当前APP |
|
models.py |
数据模型 |
|
tests.py |
单元测试 |
|
views.py |
视图函数(即MVC中的控制器) |
(二) 添加模型类
models.py添加模型类
class BlogPost(models.Model):
title = models.CharField(max_length=150)
body = models.TextField()
timestamp = models.DateTimeField()
https://docs.djangoproject.com/en/dev/ref/models/fields/#field-types 这里可以查看完整的字段类型
(三) 配置setting.py文件
INSTALLED_APPS列表中增加应用名称

配置数据库连接:找到DATABASES 字典

(四) 建表、查看建表SQL
依次运行下面2个命令(建表/更新表结构)
python manage.py makemigrations blog (告诉Django模型已经做了修改,并希望更新/创建对应的表结构,这个命令运行后,migrations文件夹下会出现一条记录)
python manage.py migrate (建表/更新表结构,会自动根据模型创建对应的表。如果是Django自带的应用,直接执行这个命令建表就行了)
查看建表SQL:
python manage.py sqlmigrate blog 0001 (查看建表SQL)

(五) 使用django管理
(1) 创建管理员账号:执行下面的命令创建用户
python manage.py createsuperuser
(2) http://localhost:8000/admin/ 登录

(六) 注册模型(注册后django 管理中才能测试这个模型)
(1) admin.py文件添加下面的代码
from blog.models import BlogPost
# Register your models here.
#设置管理工具中视图显示内容
class BlogPostAdmin(admin.ModelAdmin):
list_display = ('title','timestamp')
#注册模型BlogPost
admin.site.register(BlogPost,BlogPostAdmin)
(2) 在管理工具中测试



数据库应该可以看到创建的数据:

Python Django框架笔记(二):创建应用和django 管理的更多相关文章
- Python Django框架笔记(三):django工作方式简单说明和创建用户界面
(一) 说明 简单说明下django的工作方式,并举2个例子. (二) Django工作方式 假定我们有下面这些文件 ,这里在前2篇的基础上增加了 templates目录(存放html文件) 和s ...
- Django框架(二十八)—— Django缓存机制
目录 Django缓存机制 一.什么是缓存 二.Django的6中缓存方式及配置(只需要改配置文件) 1.开发调试缓存(此模式为开发调试使用,实际上不执行任何操作) 2.内存缓存(将缓存内容保存至内存 ...
- Django框架(二十六)—— Django rest_framework-分页器与版本控制
目录 分页器与版本控制 一.三种分页器 二.分页器 1.普通分页(PageNumberPagination) 2.偏移分页(LimitOffsetPagination) 3.加密分页(CursorPa ...
- Django框架(二十四)—— Django rest_framework-视图组件
目录 视图组件 一.基本视图 二.自定义的封装视图 三.利用mixin类和generice类编写视图 1.使用 2.源码 四.利用generics 下的ListCreateAPIView,Retrie ...
- Django框架(二十四)-- Django rest_framework-路由控制与响应器
一.路由控制 # 1.基本路由: url(r'^publish/$', views.PublishView.as_view()), # 2.半自动路径:views.PublishView.as_vie ...
- Django框架(二十五)—— Django rest_framework-路由控制与响应器
路由控制与响应器 一.路由控制 # 1.基本路由: url(r'^publish/$', views.PublishView.as_view()), # 2.半自动路径:views.PublishVi ...
- Django学习笔记二
Django学习笔记二 模型类,字段,选项,查询,关联,聚合函数,管理器, 一 字段属性和选项 1.1 模型类属性命名限制 1)不能是python的保留关键字. 2)不允许使用连续的下划线,这是由dj ...
- django框架使用及创建项目
一.django框架使用及创建项目 (1)创建Django项目 1>在cmd命令行下输入:django-admin startproject RecourceRegist(进入相应路径下) 2& ...
- Django开发笔记二
Django开发笔记一 Django开发笔记二 Django开发笔记三 Django开发笔记四 Django开发笔记五 Django开发笔记六 1.xadmin添加主题.修改标题页脚和收起左侧菜单 # ...
随机推荐
- Webflux快速入门
SpringWebflux是SpringFramework5.0添加的新功能,WebFlux本身追随当下最火的Reactive Programming而诞生的框架,那么本篇就来简述一下这个框架到底是做 ...
- [转]Android中handler机制的原理
Andriod提供了Handler 和 Looper 来满足线程间的通信.Handler先进先出原则.Looper类用来管理特定线程内对象之间的消息交换(MessageExchange). 1)Loo ...
- 全网最详细的再次或多次格式化导致namenode的ClusterID和datanode的ClusterID之间不一致的问题解决办法(图文详解)
不多说,直接上干货! java.io.IOException: Incompatible clusterIDs in /opt/modules/hadoop-2.6.0/data/tmp/dfs/da ...
- Jenkins持久化集成使用
1.概述 Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,功能包括: 持续的软件版本发布/测试项目 监控外部调用执行的工作 2.搭建 2.1环境准备 首先我们要准备搭建的环 ...
- p132代码解析
1. long before = System.currentTimeMillis(); long after = System.currentTimeMillis(); //该两句代码规定了一个do ...
- 面试题----实现memcpy
#include <stdio.h> void *memcpy(void *memTo,const void *memFrom,size_t size) { if(memTo == NUL ...
- async & await 异步编程小示例,一看就懂
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- Hibernate关联关系映射之一对一(主键关联)
在业务成的域模型中,类和类之间最普遍的关系就是关联关系,而关联也是有方向的. 就以例子来说明:一个人对应一张身份证.对其进行增删改. 对于人在数据创建表的时候,我们就给他两个字段,一个是id号,一个就 ...
- 你的网站升级https了吗
升级 HTTPS,价值何在? HTTPS 实质上是一种面向安全信息通信的协议.从最终的数据解析的角度上看,HTTPS 与 HTTP 没有本质上的区别.对于接收端而言,SSL/TSL 将接收的数据包解密 ...
- tcp/ip通信中udp头部结构udphdrp->check校验计算
通过raw socket修改通信数据后,可通过函数 set_udp_checksum1 重新校验计算iph->check值 在http://www.cnblogs.com/dpf-10/p/78 ...