1. 程式人生 > 實用技巧 >Django中admin的高階應用

Django中admin的高階應用

一、背景

在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層的註冊,在完成之後就可以通過後臺的賬號登入檢視結果。

五、參考

https://tendcode.com/article/django-admin/