Django 2.2:有没有办法从管理员URL中删除应用程序名称?

2024-04-25 17:11:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用Django内置的管理面板,有没有办法从URL中删除应用程序名

如果我想访问用户列表,它会将我重定向到27.0.0.1:8000/admin/auth/user/我可以使它27.0.0.1:8000/admin/user/而不使用应用程序名auth

谢谢


Tags: django用户auth应用程序面板url列表admin
1条回答
网友
1楼 · 发布于 2024-04-25 17:11:27

如文档所述here您可以创建一个自定义AdminSite并重写get_urls方法。此简单代码应适用于作业:

在您的common.admin.py中

from django.contrib.admin import AdminSite

class MyAdminSite(AdminSite):

    def get_urls(self):
        urlpatterns = super().get_urls()
        for model, model_admin in self._registry.items():
            urlpatterns += [
                path('%s/' % (model._meta.model_name), include(model_admin.urls)),
            ]
        return urlpatterns


my_admin = MyAdminSite('My Admin')

my_admin.register(YourModel)
...

请注意,您向新的自定义AdminSite实例注册了模型

然后在您的项目中URL.py

from common.admin import my_admin as admin
from django.urls import path

urlpatterns = [
    path('admin/', admin.urls),
    # Your other patterns
]

相关问题 更多 >