django.contrib 包
管理工具是django.contrib的一部分
站點管理工具(django.contrib.admin)
使用者鑑別系統(django.contrib.auth)
支援匿名會話(django.contrib.sessioins)
使用者評注系統(django.contrib.comments)
啟用管理介面
第一步,修改settings.py:
確保middleware_classes 包含'django.middleware.common.commonmiddleware' 、'django.contrib.sessions.middleware.sessionmiddleware' 和『django.middleware.locale.localemiddleware『支援中文,'django.contrib.auth.middleware.authenticationmiddleware'
第三,將admin訪問配置在urlconf(記住,在urls.py 中). 預設情況下,命令django-admin.py startproject 生成的檔案urls.py 是將django admin的路徑注釋掉的,你所要做的就是取消注釋。 請注意,以下內容是必須確保存在的:
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
# ...
(r'^admin/', include(admin.site.urls)),
# ...
)啟動開發伺服器 python manage.py runserver,訪問:
將models加入到admin管理中
from django.contrib import admin
from mysite.books.models import publisher, author, book
admin.site.register(publisher)
admin.site.register(author)
admin.site.register(book)
admin管理是如何工作的
應 用程式`` django.contrib.auth`` 包含自身的`` admin.py`` ,所以users和groups能在管理工具中自動顯示。 其它的django.contrib應用程式,如django.contrib.redirects,其它從網上下在的第三方django應用程式一樣, 都會自行新增到管理工具。
綜上所述,管理工具其實就是乙個django應用程式,包含自己的模組、模板、檢視和urlpatterns。 你要像新增自己的檢視一樣,把它新增到urlconf裡面。 你可以在django基本**中的django/contrib/admin 目錄下,檢查它的模板、檢視和urlpatterns,但你不要嘗試直接修改其中的任何**,因為裡面有很多地方可以讓你自定義管理工具的工作方式。 (如果你確實想瀏覽django管理工具的**,請謹記它在讀取關於模組的元資料過程中做了些不簡單的工作,因此最好花些時間閱讀和理解那些**。)
自定義modeladmi類
blank=true、null=true和verbose_name修改其實是模組級別,而不是管理級別的。
django還提供了大量選項針對特別的模組自定義管理工具。
這些選項都在modeladmin classes 裡面,這些類包含了管理工具中針對特別模組的配置。
1.自定義列表、表單
from django.contrib import admin
from mysite.books.models import author
class authoradmin(admin.modeladmin):
list_display = ('first_name', 'last_name', 'email')#列表字段設定
search_fields = ('first_name', 'last_name')#查詢設定
admin.site.register(author, authoradmin)#為author 模組定義乙個modeladmin 類
我們新建了乙個類authoradmin ,它是從django.contrib.admin.modeladmin 派生出來的子類,
儲存著乙個類的自定義配置,以供管理工具使用。 我們只自定義了一項:list_display ,
它是乙個欄位名稱的元組,用於列表顯示。 當然,這些欄位名稱必須是模組中有的。
class bookadmin(admin.modeladmin):
list_display = ('title', 'publisher', 'publication_date')
list_filter = ('publication_date',)
date_hierarchy = 'publication_date' #日期過濾方式
ordering = ('-publication_date',) #倒序
fields = ('title', 'authors', 'publisher', 'publication_date')#自定義表單,也可隱藏某個字段
filter_horizontal = ('authors',)#多對多表單控制項樣式,支援多個字段,可選filter_vertical垂直排列
raw_id_fields = ('publisher',)#開啟新頁面列表可選項
Django站點管理
站點管理 1 使用站點管理 2 建立系統管理員 設定時區 3 個性化站點管理 設定顯示字段 修改規則 範例 建立自定義的admin class studentadmin admin.modeladmin def show self if self.s return 男 else return 女 s...
django站點管理
1 配置admin應 django.contrib.admin 2 建立管理員 戶 python3 manage.py createsuperuser 依次輸 戶名 郵箱 密碼 確認密碼 3 漢化 language code zh hans time zone asia shanghai from ...
Django之站點管理
一般分為內容發布和公共訪問。其中內容發布負責新增 修改 刪除內容 資料 啟動專案 python manage.py runserver ip port 若不指定ip和埠號預設啟動127.0.0.1 8000 訪問使用者管理介面需訪問 ip potr admin 如 127.0.0.1 8000 ad...