django 站點管理

2021-08-27 01:49:10 字數 2821 閱讀 2662

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...