从 Django-admin 中删除默认应用程序
默认情况下,Django-admin 中有用户、组和站点应用程序。如何删除群组和网站?
我尝试从根网址中删除 admin.autodiscover()
。然后,当我在应用程序模型中的某处添加诸如 admin.site.register(User, UserAdmin)
之类的内容时,我得到了一个 AlreadyRegistered
异常(这是相当正确的 - 模型用户已经在 django.contrib.auth 中注册)。
By default, in Django-admin there is Users, Groups, and Sites apps. How can I remove Groups and Sites?
I tried to remove admin.autodiscover()
from root urls. Then, when I added something like admin.site.register(User, UserAdmin)
somewhere in my app models I got an AlreadyRegistered
exception (this is fairly right - models users already registered in django.contrib.auth).
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
在您知道肯定会加载的 admin.py 中,尝试:
In an admin.py you know will definitely be loaded, try:
除了上述之外,请仔细检查“settings.py”中“INSTALLED_APPS”的顺序,
否则会导致错误。请参阅此处:Django 管理员注册内联用户配置文件时出现问题管理员
In addition to the above double check your ordering of "INSTALLED_APPS" in "settings.py"
Otherwise it will cause an error. See here: Issue with Django admin registering an inline user profile admin
要摆脱用户和组,我必须在 admin.py 中执行以下操作:
To get rid of Users and Groups I had to do in admin.py:
循环遍历所有应用程序,并取消注册它们已注册的任何模型。
Loop through all apps, and unregister any models they have registered.
如果你有:
然后确保您的 INSTALLED_APPS 按正确顺序排列,如下所示:
If you got:
Then make sure that your INSTALLED_APPS in proper order like this:
这将取消注册所有模型,具体取决于放置此代码的应用程序的位置以及它在 INSTALLED_APPS 内的顺序,因此请确保您想要在管理员中使用的应用程序放置在此代码所在的应用程序之后。
例如:如果此代码放在用户应用程序中,它将取消注册用户之前的所有模型以及用户可以注册之后的所有模型。
this will unregister all models depending upon the position of app where this code is placed and it's order inside INSTALLED_APPS so make sure the apps you want in your admin are placed after the app in which this code resides.
For Example: if this code is placed inside users app, it will unregister all models before users and all models after users can be registered.