django学习纪要(管理员界面)

原文地址: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,谢谢!

你可能感兴趣的:(mvc,django)