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...