假設咱們要設計一個新聞網站,咱們須要編寫展現給用戶的頁面,網頁上展現的新聞信息是從哪裏來的呢?是從數據庫中查找到新聞的信息,而後把它展現在頁面上。可是咱們的網站上的新聞天天都要更新,這就意味着對數據庫的增、刪、改、查操做,那麼咱們須要天天寫sql語句操做數據庫嗎? 若是這樣的話,是否是很是繁瑣,因此咱們能夠設計一個頁面,經過對這個頁面的操做來實現對新聞數據庫的增刪改查操做。那麼問題來了,老闆說咱們須要在創建一個新網站,是否是還要設計一個頁面來實現對新網站數據庫的增刪改查操做,可是這樣的頁面具備一個很大的重複性,那有沒有一種方法可以讓咱們很快的生成管理數據庫表的頁面呢?有,那就是咱們接下來要給你們講的Django的後臺管理。Django可以根據定義的模型類自動地生成管理頁面。python
使用Django的管理模塊,須要按照以下步驟操做:sql
本地化是將顯示的語言、時間等使用本地的習慣,這裏的本地化就是進行中國化,中國大陸地區使用簡體中文,時區使用亞洲/上海時區,注意這裏不使用北京時區表示。數據庫
打開test1/settings.py文件,找到語言編碼、時區的設置項,將內容改成以下:django
LANGUAGE_CODE = 'zh-hans' #使用中國語言 TIME_ZONE = 'Asia/Shanghai' #使用中國上海時間
建立管理員的命令以下,按提示輸入用戶名、郵箱、密碼。瀏覽器
python manage.py createsuperuser
接下來啓動服務器。服務器
python manage.py runserver
打開瀏覽器,在地址欄中輸入以下地址後回車。網站
http://127.0.0.1:8000/admin/
輸入前面建立的用戶名、密碼完成登陸。編碼
登陸成功後界面以下,可是並無圖書、英雄的管理入口,接下來進行第三步操做。設計
登陸後臺管理後,默認沒有咱們建立的應用中定義的模型類,須要在本身應用中的admin.py文件中註冊,才能夠在後臺管理中看到,並進行增刪改查操做。code
打開booktest/admin.py文件,編寫以下代碼:
from django.contrib import admin from booktest.models import BookInfo,HeroInfo admin.site.register(BookInfo) admin.site.register(HeroInfo)
到瀏覽器中刷新頁面,能夠看到模型類BookInfo和HeroInfo的管理了。
點擊類名稱"BookInfo"能夠進入列表頁,默認只有一列。
在列表頁中點擊"增長"能夠進入增長頁,Django會根據模型類的不一樣,生成不一樣的表單控件,按提示填寫表單內容後點擊"保存",完成數據建立,建立成功後返回列表頁。
在列表頁中點擊某行的第一列能夠進入修改頁。
按照提示進行內容的修改,修改爲功後進入列表頁。在修改頁點擊「刪除」能夠刪除一項。
刪除:在列表頁勾選想要刪除的複選框,能夠刪除多項。
點擊執行後進入確認頁面,刪除後回來列表頁面。
數據都刪除了,接下來手動造一些數據出來。
在列表頁只顯示出了BookInfo object,對象的其它屬性並無列出來,查看很是不方便。 Django提供了自定義管理頁面的功能,好比列表頁要顯示哪些值。
打開booktest/admin.py文件,自定義類,繼承自admin.ModelAdmin類。
class BookInfoAdmin(admin.ModelAdmin): list_display = ['id', 'btitle', 'bpub_date']
admin.site.register(BookInfo, BookInfoAdmin)
from django.contrib import admin from booktest.models import BookInfo,HeroInfo class BookInfoAdmin(admin.ModelAdmin): list_display = ['id', 'btitle', 'bpub_date'] class HeroInfoAdmin(admin.ModelAdmin): list_display = ['id', 'hname','hgender','hcomment'] admin.site.register(BookInfo,BookInfoAdmin) admin.site.register(HeroInfo,HeroInfoAdmin)