CRM
Consumer Relationship Management
客户关系管理系统
私有方法外部不能使用
抽象类只能被继承,不能创建实例
- 模型中定义多选字段时需安装第三方包
NOTE
格式化输出
request获取路径信息
Django的admin(只有超级用户才能使用Django的admin)
admin首页导航区
把表加入admin页面中进行表的操作
在admin文件中使用admin.site.register(模型名)
源码解析,把参数中的模型放入admin的类中,也就是admin的页面
参数中也可以放可迭代对象
表名显示成自定义名子,在模型中增加Meta类。新增verbose_name属性。如
为什么定义在类中定义class Meta就可以修改名字呢?
使用Django的admin来管理这几个表,在admin中注册表
自定制一个admin中的展示的字段
由于修改了python中的元类,
关于元类的深度解析博文
参考博文
在类中定义了class Meta,就是定义了元类,就是修改了type中的源码的
由于老外表示复数习惯加s
可把复数形式设置成自己定义的名字,用元类中的verbose_name_plural :plusral复数的意思
admin编辑区
新增信息
如果显示的是choice字段的__str__,自动显示的是选择的元祖的一个元素,如果要显示第二个元素,使用get__字段名__display()方法,如
设置字段为非必选项
自定义客户表
首先把关于用户相关的连接单独转到一个url处理
新建py文件
html相关设置
以上是admin整体操作
表中的字段具体在html中的显示内容(Django模板语言)
- 凡是需要显示choice字段的第二项时,都是用get_字段名_display(),此方法是Django的ORM提供的
-
如果数据库中的字段为空,显示为None,可在html中设置默认值default
-
关于Django的时间格式
-
多对多字段显示全部选项
看看效果