1. 后台管理
在Java中,想要實現后台管理,是非常的麻煩的,但是在python中只需要幾行代碼,就可以實現數據庫的增刪改查了。
Django能夠根據定義的模型類自動地生成管理頁面。
1.1 管理界面本地化
本地化是將顯示的語言、時間等使用本地的習慣,這里的本地化就是進行中國化,中國大陸地區使用簡體中文,時區使用亞洲/上海時區,注意這里不使用北京時區表示。
打開djangotest/settings.py文件,找到語言編碼、時區的設置項,將內容改為如下:
LANGUAGE_CODE = 'zh-hans' #使用中國語言 TIME_ZONE = 'Asia/Shanghai' #使用中國上海時間
1.2 創建管理員
創建管理員的命令如下,按提示輸入用戶名、郵箱、密碼。
python manage.py createsuperuser
接下來啟動服務器。
python manage.py runserver
打開瀏覽器,在地址欄中輸入如下地址后回車。
http://127.0.0.1:8000/admin/
輸入前面創建的用戶名、密碼完成登錄。
登錄成功后界面如下,但是並沒有圖書、角色的管理入口,接下來進行第三步操作。
1.3 注冊模型類
登錄后台管理后,默認沒有我們創建的應用中定義的模型類,需要在自己應用中的admin.py文件中注冊,才可以在后台管理中看到,並進行增刪改查操作。
打開booktest/admin.py文件,編寫如下代碼:
from django.contrib import admin from booktest.models import BookInfo,RoleInfo admin.site.register(BookInfo) admin.site.register(RoleInfo)
到瀏覽器中刷新頁面,可以看到模型類BookInfo和RoleInfo的管理了。
點擊類名稱"BookInfo"可以進入列表頁,默認只有一列。
在列表頁中點擊"增加"可以進入增加頁,Django會根據模型類的不同,生成不同的表單控件,按提示填寫表單內容后點擊"保存",完成數據創建,創建成功后返回列表頁。
在列表頁中點擊某行的第一列可以進入修改頁。
按照提示進行內容的修改,修改成功后進入列表頁。在修改頁點擊“刪除”可以刪除一項。
刪除:在列表頁勾選想要刪除的復選框,可以刪除多項。
點擊執行后進入確認頁面,刪除后回來列表頁面。
數據就全部刪除了。
1.4 自定義管理頁面
在列表頁只顯示出了BookInfo object,對象的其它屬性並沒有列出來,查看非常不方便。 Django提供了自定義管理頁面的功能,比如列表頁要顯示哪些值。
打開booktest/admin.py文件,自定義類,繼承自admin.ModelAdmin類。
from django.contrib import admin from booktest.models import BookInfo,RoleInfo class BookInfoAdmin(admin.ModelAdmin): list_display = ['id', 'btitle', 'bpub_date'] class RoleInfoAdmin(admin.ModelAdmin): list_display = ['id', 'rname','rgender','rcomment'] admin.site.register(BookInfo,BookInfoAdmin) admin.site.register(RoleInfo,RoleInfoAdmin)
刷新BookInfo的列表頁,所有屬性都顯示出來了。