有没有办法在没有 admin.py 的情况下激活 django 管理站点



我有很多应用程序,我想激活所有应用程序中所有模型的管理员。

我记得几个月我的一个朋友做了一些事情,使管理站点没有任何 admin.py 文件

他在settings.py文件中做了一些事情,INSTALLED_APPS所有应用程序都显示在"管理"部分

我现在找不到了。任何一个??

你的朋友可能做了类似的事情......

from django.db.models import get_models
for model in get_models():
    admin.site.register(model)

在他的一个 admin.py 文件中。

我不知道,我这样做只是为了测试东西。这有点太神奇了。请记住,您必须明确unregister您可能想要再次注册的任何模型。

只需按照文档中的说明进行操作即可。他们在这里描述了如何激活 django 管理站点。您需要修改urls.py 。就是这样。

该文件中甚至有注释告诉您要取消注释的三行。

我建议你在应用程序中包含一个admin.py,因为这是Django约定,并且你试图实现的一些明确性是一件好事;我使用的解决方案是以下默认admin.py模板,用于我启动的所有新应用程序:

# Auto registers any new models with the admin, eventually you will want a tailored admin.py
from django.contrib import admin
current_app = models.get_app(__package__) 
for model in models.get_models(current_app):
    admin.site.register(model, admin.ModelAdmin)

相关内容

最新更新