FBV & CBV
FBV:function base views
CBV:Class base views
Django ORM操作:
在models.py中创建类来生成表结构,这个类需要继承models.Moudel.
运行python manage.py migrations、python manage.py migrate 来执行生成表结构。
Django数据类型
字符串类型 models.CharFiled()、models.URLFiled .....
数值类型 models.IntegerFiled() 、models.BigIntegerFiled()
时间类型 models.DateFiled()、models.TimeFiled()、models.DateTimeFiled()
二进制
Django字段属性
primary_key -> 主键
null -> db是否可以为空
default -> 默认值
primary_key -> 主键
db_column -> 列名
db_index -> 索引
unique -> 唯一索引
unique_for_date ->
unique_for_month
unique_for_year
auto_now -> 创建时,自动生成时间
auto_now_add -> 更新时,自动更新为当前时间
# obj = UserGroup.objects.filter(id=1).update(caption='CEO')
# obj = UserGroup.objects.filter(id=1).first()
# obj.caption = "CEO"
# obj.save()
choices -> django admin中显示下拉框,避免连表查询
blank -> django admin是否可以为空
verbose_name -> django admin显示字段中文
editable -> django admin是否可以被编辑
error_messages -> 错误信息
help_text -> django admin提示
validators -> django form ,自定义错误信息
创建 Django 用户:python manage.py createsuperuser
增加数据:models.UserInfo.objects.create(username = ' ',password = ' ')
删: models.UserInfo.object.filter().delect()
改: models.UserInfo.object.filter().update()
查:(输入均可以为字典,返回值类型为QuerySet)
models.UserInfo.object.filter(username = ' ',age = ' ') --> 等于
models.UserInfo.object.filter(age__gt = 2) --> 大于
models.UserInfo.object.filter(age__lt = 2) --> 小于
models.UserInfo.object.filter(age__gte = 2) -->大于等于
models.UserInfo.object.filter(age__lte =2) -->小于等于
models.UserInfo.object.all() 获取所有数据, 内部元素为对象
models.UserInfo.object.all().values() 获取所有数据,内部元素为字典
models.UserInfo.object.all().values_list() 获取所有数据,内部元素为元组
models.UserInfo.object.get() 获取一个对象(有可能报错)
moldes.UserInfo.object.filter().first() 获取一个对象(不会报错)
外键: models.ForginKey('表名称','字段名称') 默认和表中主键进行关联
models.Host.objects.filter(nid__gt=0).values('nid','hostname','b_id','b__caption')(Tips: __ 在这里跨表操作)
创建多对多关系:
a.自定义关系表
b.自动创建关系表 r = models.ManyToManyField("Host")
HTML 中的循环
forloop.counter 计数
forloop.counter0 从0开始计数
forloop.revcounter 倒序
forloop.revcounter0 倒序到0
forloop.last 是否是最后一个循环
forloop.first 是否是第一个循环
forloop.parentloop 父循环的属性值(对于嵌套循环)