我有很多应用程序,我想为我所有应用程序中的所有模型激活管理员。
我记得几个月前我的一个朋友做了一些事情,在没有任何 admin.py 文件的情况下启用了管理站点
他在settings.py
文件中做了一些事情,INSTALLED_APPS
并且所有应用程序都显示在管理部分
我现在找不到那个。任何人??
只需按照文档中的说明进行操作。他们描述了如何在此处激活 django 管理站点。你需要修改urls.py
. 而已。
该文件中甚至还有注释告诉您要取消注释哪三行。
你的朋友可能做了类似的事情......
from django.db.models import get_models
for model in get_models():
admin.site.register(model)
在他的一个 admin.py 文件中。
我不知道,我这样做只是为了测试东西。这有点太神奇了。请记住,您必须明确指出unregister
您可能想要再次注册的任何模型。
我建议您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)