1、网页内容来源
静态:直接写到HTML文件中
动态:来自数据库
--使用SQL语句读取数据库
--Django 通过ORM(Object-Relational Mapping,对象关系映射)实现对数据库的读写
2、ORM:在关系型数据库和业务实体对象之间创建映射关系
--操作业务对象时,不需要使用SQL语句,只需要操作对象的属性和方法
优点:可移植性强、安全性好、查询语法简单
ORM实现方法:
--编写数据模型类
--位置:model.py(也可以是其他文件)
--继承:django.db.models.Model
--对应的数据库表:appname_modelname,(都是小写字母)
--创建数据库表:迁移操作
python manage.py makemigrations
python manage.py migrate
针对上面的字段解释
字段:
模型中每一个字段都应该是某个Field类的实例,Django 利用这些字段类来实现以下功能:
--字段类型用以指定数据库数据类型(如:INTEGER,VARCHAR,TEXT)。
--在渲染表单字段时默认使用的HTML视图(如:<input type="text">,<select>)。
--基本的有效性验证功能,用于Django后台和自动生成的表单。
字段类型:
https://docs.djangoproject.com/zh-hans/3.0/ref/models/fields/#model-field-types
字段选项:
每个字段类型中需要指定一些特定的参数
--title = models.CharField(max_length=300)
CharField:字符类型
max_length:数据库存储VARCHAR数据时的字节最大长度
--publish = models.DateTimeField(default=timezone.now)
DateTimeField:日期时间类型
default:默认指定的时间
--body = models.TextField()
TextField:文本类型
创建超管:
命令:python manage.py createsuperuser
登陆管理界面:
--管理界面对应一个专门的管理应用
--https://localhost:8000/admin/