原文地址:http://www.djangobook.com/en/2.0/chapter06.html
django版本:1.6.5
纪要:
1. 模块 和 中间件:
MIDDLEWARE_CLASSES = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
)
必须包含以上模块,其中staticsfiles必须添加,否则样式可能无法解析,同时必需包含以下中间件:
MIDDLEWARE_CLASSES = (
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.locale.LocaleMiddleware',这个是用来本地化的,根据情况添加
2.添加自定义模块到管理界面
原理,在urls.py中,通过admin.autodiscover()遍历INSTALLED_APPS中的模块中的admin.py文件,并执行注册。
1) 注册模型(在模块的admin.py中进行): django.contrib.admin.site.register(Publisher)
2) 必填(在模块的models.py中进行): 默认情况下,模型中的字段是必填的 (blank=False)
对于字符串型字段,将blank属性改为True,可去掉必填属性(同时标签从粗体变成普通字体)
对于其他类型(日期/数值),不仅要将blank设置为True,同时要将null设置为True,并且还要修改sql数据库里面的模型,去掉必填限制。
3)verbose_name属性修改标签(label)显示文本,(默认情况下,字段的表情是取字段名,并将下划线替换为空格,首字母大写。)
4) 管理界面优化(需要继承django.contrib.admin.ModelAdmin实现更多的扩展)修改admin.py文件
class MyClassAdmin(admin.ModelAdmin):
list_display = ('字段1’,'字段2',...)#要在列表中显示的字段
search_fields = ('字段1’,'字段2',...)#搜索字段(之间是或的关系),会添加一个搜索框
list_filter = ('字段1’,'字段2',...)#过滤字段,会在列表的右侧添加一些过滤器
date_hierarchy = '字段1’#日期过滤字段,会在列表的上面添加一个日期过滤器
ordering = ('[-]字段1',)#如果模型的内置类Meta类没有指定此属性,此处有效
fields = ('字段1’,'字段2',...)#编辑表单显示的字段(按照此顺序排序)
filter_horizontal = ('字段1’,'字段2',..)#m2m字段的优化显示,也可以是filter_vertical
raw_id_fields = ('字段1',...)#外键(m2o)字段的优化,用于点选(防止海量数据崩溃)
admin.site.register(MyClass, MyClassAdmin)
用户,组(略)
使用建议:建议只是可信任的管理员使用后台。
转载请注明来自:http://blog.csdn.net/lion_awake/article/details/37772727,谢谢!