#前提是已经创建项目
(一) 创建应用
使用命令,在项目中创建一个应用(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添加模型类
1 class BlogPost(models.Model): 2 title = models.CharField(max_length=150) 3 body = models.TextField() 4 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文件添加下面的代码
1 from blog.models import BlogPost 2 # Register your models here. 3 #设置管理工具中视图显示内容 4 class BlogPostAdmin(admin.ModelAdmin): 5 list_display = ('title','timestamp') 6 #注册模型BlogPost 7 admin.site.register(BlogPost,BlogPostAdmin)
(2) 在管理工具中测试
数据库应该可以看到创建的数据: