第六章、後臺管理

假設我們要設計一個新聞網站,我們需要編寫展示給用戶的頁面,從數據庫中查找到新聞的信息,然後把它展示在頁面上。

  • 但是我們的網站上的新聞每天都要更新,這就意味着對數據庫的增、刪、改、查操作,需要每天寫sql語句操作數據庫,非常繁瑣。
  • 所以我們可以設計一個頁面,通過對這個頁面的操作來實現對新聞數據庫的增刪改查操作。
  • Django的後臺管理模塊,幫我們自動的生成了管理頁面。

使用Django的管理模塊,需要按照如下步驟操作:

  • 管理界面本地化
  • 創建管理員
  • 註冊模型類
  • 自定義管理頁面

管理界面本地化

本地化是將顯示的語言、時間等使用本地的習慣,這裏的本地化就是進行中國化,中國大陸地區使用簡體中文,時區使用亞洲/上海時區,注意這裏不使用北京時區表示。

打開項目的settings.py文件,找到語言編碼、時區的設置項,將內容改爲如下:

 

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文件中註冊,纔可以在後臺管理中看到,並進行增刪改查操作。

打開booktest/admin.py文件,編寫如下代碼:

 

from django.contrib import admin
from booktest.models import BookInfo

admin.site.register(BookInfo)

到瀏覽器中刷新頁面,可以看到模型類BookInfo的管理了。

在列表頁中點擊"增加"可以進入增加頁,Django會根據模型類的不同,生成不同的表單控件,按提示填寫表單內容後點擊"保存",完成數據創建,創建成功後返回列表頁。

自定義管理頁面

在列表頁只顯示出了BookInfo object,對象的其它屬性並沒有列出來,查看非常不方便。 Django提供了自定義管理頁面的功能,比如列表頁要顯示哪些值。

打開booktest/admin.py文件,自定義類,繼承自admin.ModelAdmin類。

  • 屬性list_display表示要顯示哪些屬性

 

class BookInfoAdmin(admin.ModelAdmin):
    list_display = ['id', 'btitle', 'bpub_date']
  • 修改模型類BookInfo的註冊代碼如下

 

admin.site.register(BookInfo, BookInfoAdmin)
  • 刷新BookInfo的列表頁,所有屬性都顯示出來了

  • 最終booktest/admin.py文件代碼如下

 

from django.contrib import admin
from booktest.models import BookInfo

class BookInfoAdmin(admin.ModelAdmin):
    list_display = ['id', 'btitle', 'bpub_date']

admin.site.register(BookInfo,BookInfoAdmin)

 

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