管理界面是基礎設施中非常重要的一部分。這是以網頁和有限的可信任管理者為基礎的界面,它可以讓你添加,編輯和刪除網站內容。Django有自己的自動管理界面。這個特性是這樣起作用的:它讀取你模式中的元數據,然后提供給你一個強大而且可以使用的界面,網站管理者可以用它立即工作。
Django的管理員模塊是Django的標準庫django.contrib的一部分。這個包還包括其它一些實用的模塊:
django.contrib.auth
django.contrib.sessions
django.contrib.comments
我們分幾個部分講解django的管理界面(admin)的使用。
配置
其實admin的配置并不需要我們過多操心,在django創建項目和app的時候都會為我們自動創建,如果你不需要可以將其注釋掉。如果要使用admin那么你需要檢查以下幾個點:
1.在INSTALLED_APPS設置文件中有
'django.contrib.admin''django.contrib.auth','django.contrib.contenttypes''django.contrib.sessions'
因為admin模塊依賴
2.在MIDDLEWARE_CLASSES屬性中有
'django.middleware.common.CommonMiddleware','django.contrib.sessions.middleware.SessionMiddleware''django.contrib.auth.middleware.AuthenticationMiddleware'.
也是因為依賴
3.運行pythonmanage.pymakemigrations和pythonmanage.pymigrate,用于創建為admin等模塊創建新的數據庫表。
因為apps中有auth模塊,會要求你創建一個超級用戶。所以在此之前你可以使用pythonmanage.pycreatesuperuser命令創建一個超級用戶。這個非常簡單,根據提示輸入就可以。
4.在urls.py中設置admin映射,這個一般也是系統為我們自動添加的。
from django.contrib import adminadmin.autodiscover()urlpatterns = patterns('', #... (r'^admin/', include(admin.site.urls)), #...)完成以上步驟后,運行runserver你就可以通過/admin/這個url獲取admin界面了。只不過這時候的admin界面除了用戶和用戶組之外沒有其他的內容
admin.py文件
在每個app下系統會自動創建admin.py文件。這個文件的編寫直接影響到admin界面的顯示內容。
1.對model類進行注冊
2.
from django.contrib import adminfrom mysite.books.models import Publisher,Author, Bookadmin.site.register(Publisher)admin.site.register(Author)admin.site.register(Book)
這是最基本的數據添加功能。當你在project文件夾中添加新的文件時,需要重啟server才能生效。這樣就會看到admin主界面中有了你定義的數據模型。此外如果想要你的admin界面中的添加數據功能生效,需要確保MIDDLEWARE_CLASSES中有'django.contrib.messages.middleware.MessageMiddleware'。這樣我們就能夠在admin界面很容易的操作數據庫內容了,系統會自動同步到數據庫。
|
新聞熱點
疑難解答