一、概念
Django提供了完善的模型层来创建和存取数据,它包含所储存数据的必要字段和行为,通常,每个模型对应数据库中唯一的一张表。Django模型基础知识:
- 每个模型是一个python类,继承django.db.models.Model类(模型是以类的形式体现的);
- 该模型的每个属性表示一个数据库表字段;
- 所有这一切,已经给了你一个自动生成的数据库访问的API。
二、ORM(对象关系映射Object Relation Mapping)
实现了对象和数据库之间的映射,隐藏了数据访问的细节,不需要编写sql语句
三、编写models步骤
-
在应用的根目录下创建models.py,并引入models模块(创建应用时自动创建)
-
创建类,继承model.Model,该类即是一张数据表
-
字段即类里边的属性(变量)
title=models.CharField(max_length=32,default='Title') #具体的属性可去django官网中查看
四、生成数据表
- 命令行中manage.py同级目录
- 执行python manage.py makemigrations app名(可选) app名不写默认对该项目下的所有app操作
- django默认配置了数据库表,使用“migrate”命令进行数据迁移
D:\Python37\Scripts\guest>python manage.py migrate
Operations to perform:
Apply all migrations: admin, auth, contenttypes, sessions
Running migrations:
Applying contenttypes.0001_initial... OK
Applying auth.0001_initial... OK
Applying admin.0001_initial... OK
Applying admin.0002_logentry_remove_auto_add... OK
Applying contenttypes.0002_remove_content_type_name... OK
Applying auth.0002_alter_permission_name_max_length... OK
Applying auth.0003_alter_user_email_max_length... OK
Applying auth.0004_alter_user_username_opts... OK
Applying auth.0005_alter_user_last_login_null... OK
Applying auth.0006_require_contenttypes_0002... OK
Applying auth.0007_alter_validators_add_error_messages... OK
Applying auth.0008_alter_user_username_max_length... OK
Applying sessions.0001_initial... OK
五、查看
- Django会自动在app/migrations/目录下生成数据移植文件
- 执行python manage.py sqlmigrate 应用名 文件id查看sql语句
- 默认sqlite3的数据库在项目根目录下db.sqlite3
六、页面呈现数据
后台步骤:
View.py中import models
Article = models.Article.object.get(pk=1)
Render (request,page,{'article':article})
前端步骤:
模板可直接使用对象以及对象的.操作
{{article.title}}