Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 有没有办法在没有admin.py的情况下激活django管理员站点_Python_Django - Fatal编程技术网

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

Python 有没有办法在没有admin.py的情况下激活django管理员站点,python,django,Python,Django,我有很多应用程序,我想激活我所有应用程序中所有模型的管理员 我记得几个月前,我的一个朋友做了一件事,使管理员网站没有任何admin.py文件 他在settings.py文件中使用INSTALLED\u APPS和管理部分显示的所有应用程序做了一些事情 我现在找不到。任何一个???只需按照文档中的说明操作即可。您需要修改url.py。就这样 该文件中甚至有注释告诉您要取消注释哪三行 你的朋友可能做了类似于 from django.db.models import get_models for m

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

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

他在
settings.py
文件中使用
INSTALLED\u APPS
和管理部分显示的所有应用程序做了一些事情


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

只需按照文档中的说明操作即可。您需要修改
url.py
。就这样


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

你的朋友可能做了类似于

from django.db.models import get_models

for model in get_models():
    admin.site.register(model)
在他的一个admin.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)

你没有得到。我知道那个,但为此我必须在admin.py文件中编写自动注册程序。但我不想为我所有的应用程序写这些。你总是需要在某个地方调用
admin.site.register(YouModel)
。我只记得他函数
autoregister(*settings.INSTALLED\u APPS)
中的一行。我不知道那个函数是什么。这是在urls.py文件中,而不是在nay admin.py文件中,效率比我上面发布的要低。已安装的应用程序包含字符串,因此您必须解析模型类。。。get_models()实际上返回模型类。或者他做了一些实际编写物理python文件的事情,如果它们不存在的话。它会返回所有安装的应用程序的模型吗。我会的。我不明白你没有注册的东西。