将Django管理表单放置在其他文件中

问题描述

| 在Django中,是否可以将管理界面中模型的表单放置到每个应用程序的不同文件中?与可以对模型文件进行的操作相同。 例如。代替: app / admin.py   类PersonAdmin(admin.ModelAdmin):     [...]   Caradmin(admin.ModelAdmin)类     [...] 我有 app / admin / personadmin.py   类PersonAdmin(admin.ModelAdmin):     [...] app / admin / caradmin.py   Caradmin(admin.ModelAdmin)类     [...] 我想在不更改Django代码的情况下执行此操作。 这只是出于概述目的,我知道它并没有为该网站的功能打开新的可能性。 任何帮助深表感谢!     

解决方法

您是否尝试过在admin目录下创建“ 0”文件? 内容如下所示:
from personadmin import PersonAdmin
from caradmin import CarAdmin
只需按照您链接的说明进行操作,但将\“ models \”替换为\“ admin \”。试试看,看看是否可行。如果不这样做,我会感到惊讶。     ,您可以将它们放置在任意位置,只需将它们手动导入到在运行时加载的某个位置(settings.py,urls.py等)。您再也不能使用
admin.autodiscover()
了,因为这实际上是在做的:在所有应用程序中导入所有admin.py文件。 但是,如果您将所有导入都放在admin.py文件中,则可能仍可以使用
admin.autodiscover()
。此时,您还需要将分隔文件中的所有类添加到admin.py文件中的
__all__
中。