Django中的admin一些方法

2022-08-21 12:15:12 字數 3986 閱讀 1584

1.配置admin應用

在專案下終端中輸入:pytyhon maange.py createsuperuser

依次輸入使用者名稱,郵箱,密碼

3.漢化

在settings中

language_code = 'en-us'改為:language_code = 'zh-hans'

time_zone = 'utc'改為:time_zone = 'asia/shanghai'

4.管理資料表

修改admin.py檔案

1.先把models中的模型類註冊到admin.py中

from .models import students,grades

#註冊admin.site.register(grades)

admin.site.register(students)

5.自定義管理頁面

一.屬性說明

#列表頁面屬性

1.顯示字段

list_display =

2.新增過濾器,用於過濾字段

list_filter =

3.新增搜尋字段

search_fields =

4.新增分頁,看一頁顯示多少

list_per_page =3

#修改,新增頁面屬性

注意:fields和fieldsets,只能使用乙個,不能同時使用

1.規定屬性的先後順序

fields =

2.給屬性分組

fieldsets =

舉例:from django.contrib import admin

from .models import students,grades

#自定義管理頁面

class gradesadmin(admin.modeladmin):

#列表頁面屬性

#1.顯示字段

list_display = ['pk','gname','gdate','ggirlnum','gboynum','isdelete']

# 2.新增過濾器,用於過濾字段

list_filter = ['gname']

# 3.新增搜尋字段

search_fields = ['gname']

# 4.新增分頁

list_per_page =3

# #新增,修改頁面屬性,id即pk是沒有,不可以設定順序

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

#給屬性分組,這裡面的組,是乙個元組

fieldsets = [

('num',),

('base',),

]#註冊

admin.site.register(grades,gradesadmin)

admin.site.register(students)

二、關聯物件

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

舉例:class studentinfo(admin.tabularinline): #stackedinline和tabularinlineg兩種風格不一樣

model = students

extra = 2

#在類中直接新增

class gradesadmin(admin.modeladmin):

inlines = [studentinfo ]

#列表頁面屬性

#1.顯示字段

list_display = ['pk','gname','gdate','ggirlnum','gboynum','isdelete']

# 2.新增過濾器,用於過濾字段

list_filter = ['gname']

# 3.新增搜尋字段

search_fields = ['gname']

# 4.新增分頁

list_per_page =3

# #新增,修改頁面屬性,id即pk是沒有,不可以設定順序

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

#給屬性分組

fieldsets = [

('num',),

('base',),

]class studentsadmin(admin.modeladmin):

list_display = ['pk','sname','sgender','sage','scontend','isdelete','sgrade']

list_per_page = 3

#註冊admin.site.register(grades,gradesadmin)

admin.site.register(students,studentsadmin)

三、布林值顯示問題

例如:男女區別顯示

class studentsadmin(admin.modeladmin):

#用乙個方法封裝

def gender(self):

if self.sgender:

return '男'

else:

return '女'

#設定頁面列的名稱

gender.short_description = '性別'

list_display = ['pk','sname',gender,'sage','scontend','isdelete','sgrade']

list_per_page = 3

#註冊admin.site.register(students,studentsadmin)

四、執行動作位置的問題

actions_on_bottom = true

actions_on_top = false

示例:class studentsadmin(admin.modeladmin):

def gender(self):

if self.sgender:

return '男'

else:

return '女'

#設定頁面列的名稱

gender.short_description = '性別'

list_display = ['pk','sname',gender,'sage','scontend','isdelete','sgrade']

list_per_page = 3

#執行動作的位置

actions_on_bottom = true

actions_on_top = false

#註冊admin.site.register(grades,gradesadmin)

admin.site.register(students,studentsadmin)

五、不用原始方式註冊,使用裝飾器來進行註冊

不使用:admin.site.register(students,studentsadmin)註冊

使用 @admin.register(students) 註冊

示例:@admin.register(students)

class studentsadmin(admin.modeladmin):

def gender(self):

if self.sgender:

return '男'

else:

return '女'

#設定頁面列的名稱

gender.short_description = '性別'

list_display = ['pk','sname',gender,'sage','scontend','isdelete','sgrade']

list_per_page = 3

#執行動作的位置

actions_on_bottom = true

actions_on_top = false

django中的一些操作

1.有關於對列表的操作 在django的模板語法中,列表可用迴圈的方式遍歷,取出。也可用下標的方式取出 jieguo 1,2,3,4 jieguo.0,jieguo.1.對於字典形式的陣列 jieguo1 jieguo.a,jieguo.b.2.forloop的運用 僅在迴圈中使用 forloop....

Django中Admin站點的使用

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

Django中的一些基礎配置

urls.py裡面的path 引數 settings.py 預設開啟的某些應用至少需要乙個資料表。使用互動式python命令列嘗試django建立的各種api python manage.py shell question.objects.all 對於我們了解這個物件的細節沒有幫助。所以在model...