wik*_*iki 7 python django django-models django-admin django-apps
默认情况下,Django 管理仪表板对我来说是这样的:
我想更改部分中模型的顺序Profile,因此通过使用此处和此处的代码,我可以更改 Django 管理仪表板中模型名称的顺序:
class MyAdminSite(admin.AdminSite):
def get_app_list(self, request):
"""
Return a sorted list of all the installed apps that have been
registered in this site.
"""
ordering = {
"Users": 1,
"Permissions": 2,
"Activities": 3,
}
app_dict = self._build_app_dict(request)
# a.sort(key=lambda x: b.index(x[0]))
# Sort the apps alphabetically.
app_list = sorted(app_dict.values(), key=lambda x: x['name'].lower())
# Sort the models alphabetically within each app.
for app in app_list:
app['models'].sort(key=lambda x: ordering[x['name']])
return app_list
mysite = MyAdminSite()
admin.site = mysite
sites.site = mysite
Run Code Online (Sandbox Code Playgroud)
新的外观和感觉:
但正如你所看到的,我丢失了该AUTHENTICATION AND AUTHORIZATION部分;我应该怎么做才能拥有所有部分,同时拥有自己的自定义部分排序Profile?
get_app_list()首先调用super,如下所示:
class MyAdminSite(admin.AdminSite):
def get_app_list(self, request):
all_list = super().get_app_list(request)
# reorder the app list as you like
return app_list
mysite = MyAdminSite()
admin.site = mysite
sites.site = mysite
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5730 次 |
| 最近记录: |