Django3 项目基本结构/常用数据类型=1
一、文档结构
Django是基于MVC(Model-View-Controller)模式的框架,也有人称为MTV
模式。
点我去看django官方文档(英文)
点我查看django3.1详细文档索引页
1.1 Model
Model模型用于与数据库打交道,所有数据处理的部分都在这一层。
Model instances:Model的实例,一个实例可以理解为表中的一条记录
Migrations: 用于调整表的结构。两个命令:makemigrations、migrate
ORM(Object Relational Mapping, 对象关系映射)就是把我们定义的对象(类)映射到对应的数据库的表上。所以ORM就是代码层面对于数据库表和关系的一种抽象。
Django的Model就是ORM的一个具体实现。
当我们在Model中定义对应的字段,Django会将其对应到数据库的表上。
数据库中默认会生成一个名为id的自增字段,可以被重写。
数据类型 | 关键字 | 值类型 | 备注 |
---|---|---|---|
数值型 | AutoField | int() | 自增主键,可被重写 |
BooleanField | tinyint() | 布尔型类型 | |
DecimalField | decimal | 更高精度 | |
IntegerField | int() | 和AutoField主键一样,就是不自增,通用性最高的整数字段 | |
PositiveIntegerField | 同IntergerField, 只包含正整数 | ||
SmallIntegerField | smallint | 小整数时用 | |
字符型 | CharField | varchar | 基本的varchar类型,适用于较短数据字符串,通常用于单行数据 |
URLField | 继承自CharField,但实现了对URL的处理 | ||
UUIDField | char() | 用来存放生成的唯一的ID | |
EmailField | 同URLField一样,多了对E-mail的处理 | ||
FileField | 同URLField,多了对文件的处理 | ||
TextField | longtext | 一般用来存放大量文本内容 | |
ImageField | 继承自FileField,用来处理图片相关数据。 | ||
日期类型 | DateField | ||
DateTimeField | |||
TimeField | |||
关系类型 | ForeignKey | ||
OneToOneField | |||
ManyToManyField |
各个字段常用属性说明
字段选项 | 说明 |
---|---|
null | 是否接受空值,默认false |
blank | 是否接受空白内容,默认false |
choices | 以选项的方式(只有固定的数据可以使用)作为此字段的候选值 |
default | 字段的默认值 |
help_text | 字段的救助信息 |
primary_key | 是否设为主键,默认值false |
unique | 是否唯一值,默认false |
1.2 View
获取、过滤、整合数据,拿到数据后传递到模版中,通过HttpResponse渲染出来。
1.3 Template
模版部分
有了计划记得推动,不要原地踏步。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)