Django Admin
2017-04-25 21:42:50 0 举报
AI智能生成
自定义djang admin 海瑞编写
作者其他创作
大纲/内容
Modles操作
自定义筛选功能
自定义 list_filter 内字段
根据 search_fields 内字段
多条件查询
显示出models字段
自定义字段 list_display
默认显示对象__str__方法
分页功能
使用内置admin里的分页
使用自定义插件分页
自定义排序
根据 list_display 排序
默认降序
升序
Modeles-Class操作
使用Dango Form组件生成(推荐)
创建函数,并传入注册对象
__new__
返回 ModelForm.__new__(cls)
type动态创建一个类Form
type('类名', (ModelForm,), {'Meta': Meta, '__new__': __new__})
类Meta
定义model
定义fields
所有字段 __all__
根据字段类型生成
增加
执行Form函数获取到Form类对象
剩下和原生Form 一样了
修改
同增加
删除
单删除
批量删除
views 视图
用户验证
django
导入login_required
django.contrib.auth.decorators
自定义
用户认证
使用django自带的认证系统
导入login,authenticate
django.contrib.auth
认证
authenticate(username=username,password=password)
返回对象-成功
login(request, user)
自定义
比较繁琐
用户登出
使用django自带
导入logout模块
django.contrib.auth
登出
logout(request)
自定义
删除session即可
服务器删除
del request.session
显示注册的app和modles
2 基类BaseAdmin
注册类对象去注册各model内的类
对象.注册方法(字段,自定义类)
创建自定义内容 -
必须继承基类BaseAdmin
list_display
自定义显示字段
filter_horizontal
自定义m2m字段双select选取
list_filter
自定义筛选条件字段
readonly_fields
自定义非修改字段
search_fields
自定义筛选条件
1 创建一个启动自执行函数
通过conf.settings.INSTALLED_APPS
获取注册的app
__import__导入模块
1 生成一个全局对象
2 将所有注册app和models 封装到对象中
3 生成一个字典
格式{app名:{model的类名:自定义类名}}
在views 导入函数并执行
3 导入对象使用
获取models对象
adminsite.db_dic[app_name][model_name].models
获取所有字段对象
admin_class.model._meta.fields
根据字段名称获取字段对象
admin_class.model._meta.get_field(field_name)
自定义标签方法
创建一个包,名称必须为:templatetags
创建一个py文件,名称为标签名称
1 导入 from django.template import Library
2 创建一个 Library() 对象
3 标签装饰器为 @Library对象.simple_tag
标签使用
1 页面必须导入包 {% lode 标签名称 %}
2 {% 函数名称 参数 %}
参数多个使用空格隔开即可
参数的个数对应函数的个数
模板说明
base
后台框架,所有页面都使用次框架
表头
导入公共的css+js
index
后台页面都继承次页面
继承base
定义body内容
渲染
样式 Bootstrap
路由系统
总路由分发
app路由
views处理逻辑
0 条评论
下一页