Django的Admin站點管理

2022-07-22 20:33:08 字數 2659 閱讀 5425

內容發布:負責新增、修改、刪除內容

公告訪問

在專案的根目錄下,執行命令:python manage.py createsuperuser

依次輸入使用者名稱、郵箱、密碼(密碼不能太複雜)

修改setting.py

language_code = '

zh-hans

'time_zone = '

asia/shanghai

'

準備工作:在admin.py檔案中新增

1

from .models import grades,students #

. 表示同目錄下的檔案2#

註冊模型類

3admin.site.register(grades)

4 admin.site.register(students)

自定義管理介面:

1、**

#

管理班級介面,需要註冊乙個相應的管理類

class gradesadmin(admin.modeladmin): #

需要繼承

#列表頁屬性

list_display = ['

pk','

gname

','gdate

','ggirlnum

','gboynum

','isdelete']

list_filter = ['

gname']

search_fields = ['

gname']

list_per_page = 5 # 每五條一頁

#新增、修改頁屬性

# fields = ['ggirlnum', 'gboynum', 'gname', 'gdate', 'isdelete']

fieldsets = [

("num", ),

("base", ),

]# 寫好的管理類需要加到註冊裡

admin.site.register(grades, gradesadmin)

2、屬性說明

列表屬性:

list_display:顯示字段

list_filter:過濾字段,頁面右上方顯示出過濾器按鈕

search_fields:搜尋字段,頁面左上方顯示出搜尋框

list_per_page:分頁

新增、修改頁屬性:

fields:屬性的先後順序

fieldsets:給屬性分組

注意:fields與fieldsets不能同時使用

3、關聯物件:

#

準備工作,記得註冊

class

studentsadmin(admin.modeladmin):

list_display = ['

pk', '

sname

', '

sage

', '

sgender

', '

scontend

', '

sgrade

', '

isdelete']

list_per_page = 2

需求:在建立乙個班級時可以直接新增兩個學生

#

在admin.py新增乙個類

class

studentsinfo(admin.tabularlnline): # 也可以繼承admin.stackedinline,兩張的區別在於頁面顯示效果不同

model =students

extra = 2

#注意:要在gradesadmin類新增一行;為了節省空間,剩餘的**就不往上填了

class

gradesadmin(admin.modeladmin):

inlines = [studentsinfo]

4、布林值顯示替換成想要的引數:

#

增加函式gender()

class

studentsadmin(admin.modeladmin):

defgender(self):

ifself.sgender:

return'男

'else

:

return'女

'#將頁面列的字段替換成想要顯示的字段

gender.short_description = "性別"

#將函式gender作為引數傳入,代替sgender

list_display = ['

pk', '

sname

', '

sage

', gender, '

scontend

', '

sgrade

', '

isdelete

']

使用裝飾器完成註冊:

#

用裝飾器來代替之前的註冊函式

@admin.register(students)

class studentsadmin(admin.modeladmin):

完結

django 表單和admin站點

1.表單 django內建表單的內容,使用forms模組的form類 在單獨的forms.py檔案中建立表單類和建立模型類的方法很像,然後檢視類用到表單,例項物件就可以 form類中內建一些方法,提供我們使用 比如 form bookform request.post post上傳的請求資料,通過自...

Django之admin站點管理

站點首頁 將專案裡models.py中的類名以中文顯示?可以在下圖中的位置插入這樣一段 class meta verbose name 房東資訊 verbose name plural 房東資訊 複數時 列表頁屬性django自帶的原始列表頁是長這樣滴 我們想要的頁面長這樣 所以,我們需要在專案裡的...

Django中Admin站點的使用

使用admin站點 django能夠根據定義的模型類自動地生成管理頁面 建立超級管理員 python manage.py createsuperuser 建立使用者名稱 密碼 郵箱 開啟瀏覽器,在位址列中輸入如下位址後回車 輸入前面建立的使用者名稱 密碼完成登入 登入成功後介面如下 但是並沒有我們自...