Django进阶,必须深刻了解Django的MTV模式。
M 代表模型(Model):负责业务对象和数据库的关系映射(ORM)。
T 代表模板 (Template):负责如何把页面展示给用户(html)。
V 代表视图(View):负责业务逻辑,并在适当时候调用Model和Template。
1. Django的字段概念解析
Model模型,负责对象和数据库的关系映射,所以Model本质是Python的数据类型,但它代表的是一个数据库的数据表。
数据库表格中有非常多的字段,例如char、varchar、date、datetime、text、int等,那在Model当中,也会有对应的类型,如:CharField、IntegerField、TextField;
以表格形式展示:
类型说明参数CharField字符串类型max_length、null、blankIntegerField整数类型int、null、blankTextField文本类型text、null、blankBooleanField布尔类型null、blankEmailField带邮箱检测的字符串类型null、blank
当然还有一些本质和数据库类型是一样的,只是Django对他进行了很好的模拟,让开发者在使用的时候,可以更方便的写业务需求,而撇开本质上的数据类型纠结,如:ImageField、FileField、URLField,如下表格(还有很多):
类型说明参数ImageField字符串类型upload_to*、height_field、width_fieldFileField字符串类型upload_to*IPAddressField字符