django學習筆記 AdminSite介面配置

2022-05-17 13:20:21 字數 3082 閱讀 9038

(一)重定義字段順序:

修改對應應用目錄下的admin.py

class polladmin(admin.modeladmin):

fields = ['pub_date', 'question']# 調整成實際需求的順序

admin.site.register(poll, polladmin)

(二)為字段進行分組

class polladmin(admin.modeladmin):

fieldsets = [

('group1', ),# group1

('group2', ),# group2

]這裡如果group1,group2替換成中文就會出現顯示不了的問題,如何顯示中文是個問題?(python3 已支援中文)

(三)將字段組進行初始隱藏顯示

class polladmin(admin.modeladmin):

fieldsets = [

('group1', ),    

('group2', ),# 設定為可折疊

](四)設定子物件並設計成內聯編輯

1、方法1

class choiceinline(admin.stackedinline):# 定義內聯物件

model = choice

extra = 3

class polladmin(admin.modeladmin):

fieldsets = [

('group1', ),    

('group2', ),    

]inlines = [choiceinline]# 定義子物件的引用

2、方法2(更加緊湊)

class choiceinline(admin.tabularinline):#  stackedinline or tabularinline

model = choice

extra = 3

(五)設定子物件並設計成內聯編輯

class polladmin(admin.modeladmin):

list_display = ('question', 'pub_date')# 定義列表中顯示的字段

fieldsets = [

('group1', ),    

('group2', ),    

]inlines = [choiceinline]

(六)通過函式生成虛擬字段

models.py:

class poll(models.model):

... ...

def was_published_recently(self):# 通過函式定義虛擬字段

return self.pub_date >= timezone.now() - datetime.timedelta(days=1)

was_published_recently.admin_order_field = 'pub_date'# 指定排序字段

was_published_recently.boolean = true# 如果指定了這個字段顯示的時候體現為圖表,比較美觀

was_published_recently.short_description = 'published recently?'# 重定義字段顯示名稱,但是非數字段似乎不生效

admin.py:

class polladmin(admin.modeladmin):

list_display = ('question', 'pub_date', 'was_published_recently')

問題:這裡存在乙個問題就模型定義和介面定義出現了混用。

(七)增加快速過濾器

class polladmin(admin.modeladmin):

... ... 

list_filter = ['pub_date']         # 根據pub_date進行快速過濾

... ...

(八)設定物件的預設顯示名稱

class poll(models.model):

... ...

def __unicode__(self):

return self.question

(九)為字段增加搜尋功能

class polladmin(admin.modeladmin):

... ...

search_fields = ['question']

... ...

(十)增加日期下鑽過濾(datedrill down)

class polladmin(admin.modeladmin):

... ...

date_hierarchy = 'pub_date'

... ...

(***)疑問:

1、如果乙個model想包裝成不同的介面該如何操作?

2、中文顯示?

Django學習筆記《admin》

主要內容有 自定義表單的域 polls admin.py from django.contrib import admin from models import question class questionadmin admin.modeladmin fields pub date questio...

Django筆記 admin 深入學習

django 內建的管理後台,大部分時候可以通過對admin進行配置來提高開發效率。預設情況下顯示乙個models objects的列表,如果model定義了 str 方法,則顯示其返回的內容 乙個list或者tuple,需要展示在列表頁的字段 可以自定義 定義全域性操作按鈕 def comm ac...

Django中設定admin的方法(筆記)

執行成功之後就會有個admin.py和models.py的文件。第二步 建立超級管理員,執行python manage.py createsuperuser r然後安裝要求輸入使用者名稱,郵箱和密碼。這樣建立成功了,然後執行程式,開啟瀏覽器進入127.0.0.1 8000 admin 輸入賬號和密碼...