默认情况下,Django管理 Jmeter 板看起来像这样:
我想在Profile
部分更改模型的顺序,所以通过使用here和here中的代码,我可以在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
新的外观和感觉:
但是正如你所看到的,我已经丢失了AUTHENTICATION AND AUTHORIZATION
部分;我应该做些什么才能拥有所有的部分,同时拥有自己的Profile
部分的自定义订购?
3条答案
按热度按时间ryevplcw1#
首先使用
super
调用get_app_list()
,如下所示:csbfibhn2#
你能做的就是覆盖
get_app_list
方法。46qrfjad3#
使用下面的代码在
settings.py
中,您可以重新排序和隐藏应用程序,包括管理页面中的AUTHENTICATION AND AUTHORIZATION(auth)
和模型。* 我使用Django 4.1.7,你可以在GitHub中看到原始的get_app_list(),你可以看到我的答案,演示下面的代码是如何工作的: