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

时间:2012-12-07 08:37:11

标签: python django

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

我记得几个月我的一位朋友做了一些能让管理网站没有任何admin.py文件的东西

他使用settings.pyINSTALLED_APPS个文件中执行了某些操作,并在管理部分显示了所有应用

我现在无法找到。任何一个?

3 个答案:

答案 0 :(得分:1)

只需按照文档中的说明操作即可。 They describe how to activate the django admin site here。您需要修改urls.py。而已。

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

答案 1 :(得分:1)

你的朋友可能会做类似......

from django.db.models import get_models

for model in get_models():
    admin.site.register(model)

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

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

答案 2 :(得分:0)

我建议你在你的应用程序中包含一个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)