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,謝謝!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章