Django中admin的高階應用
阿新 • • 發佈:2020-09-16
一、背景
在Django的開發過程中,我們會使用admin的後臺管理的工具,這裡記錄一下使用的後臺管理需要的東西。Django自身提供了一個簡單的介面,可以對此進行二次開發。包括xadmin和bootstrap_amdin兩個。這裡使用的是boostrap_admin
二、使用
1. 安裝
首先我們需要使用pip安裝boostrap_admin的包,指令下面:
pip install bootstrap_admin
2.匯入
在settings.py的app新增模組的最開始的位置新增boostrap_admin模組
三、使用
1.設定title等資訊
# 設定title,header等資訊
admin.site.site_header = '圖書管理系統'
admin.site.site_title = '登入系統後臺'
admin.site.index_title = '後臺管理'
2.註冊
在Django的admin.py檔案中註冊生成的model模型
# 註冊相應的對應模型
@admin.register(Browser)
class BrowserAdmin(admin.ModelAdmin):
如果不想註冊某個APP
# 不註冊某個app應用
admin.site.unregister(Group)
admin.site.unregister(User)
3.歸檔
# 這個的作用是給出一個篩選機制(類似於歸檔內容)
date_hierarchy = 'back_time'
4.不顯示的欄位
# 不顯示的欄位 隱藏一些資訊
exclude = ('borrow_info',)
5.欄位展示
# 在檢視修改的時候顯示的屬性,第一個欄位帶有<a>標籤,所以最好放標題
list_display = ('borrow_book_id', 'borrow_book_name', 'browser_total', 'borrow_book_number', 'book_remain', 'totals_statistics', 'hot_statistics ', 'back_time')
6.設定跳轉的欄位
# 設定需要新增<a>標籤的欄位 可以實現跳轉到指定的內容
list_display_links = ('title',)
7.過濾器
# 啟用過濾器,這個很有用
list_filter = ('back_time', 'browser_total',)
8.頁面展示條數
list_per_page = 20 # 控制每頁顯示的物件數量,預設是100
9.增加快捷新增
filter_horizontal = ('borrow_book_id', 'borrow_book_name') # 給多選(多對多)增加一個左右新增的框
10.設計自己的函式
# 限制使用者許可權,只能看到自己編輯的文章 使用閉包
def get_queryset(self, request):
qs = super(BorrowBookInfoAdmin, self).get_queryset(request)
if request.user.is_superuser:
return qs
return qs.filter(author=request.user)
四、總結
通過上述的內容我們就可以實現model層的註冊,在完成之後就可以通過後臺的賬號登入檢視結果。
五、參考