首页 > 解决方案 > 如何“自动发现” admin.py 文件的不同位置?

问题描述

我认为以不同的方式(通过协议)组织我的 Django 应用程序是有意义的:

myapp
    apps.py
    models.py
    utilities.py
    html
        admin.py
        urls.py
        views.py
    rest
        serializers.py
        urls.py
        views.py
    graphql
        etc

这会将文件移动到admin.py文件html夹中,但遗憾的autodiscover是似乎在myapp文件夹中的其他任何地方都找不到它。有没有办法指向正确的位置:也许在apps.py?我确信符号链接会起作用,但不是我真正想要的。

标签: pythondjango

解决方案


admin.py 或 autodiscover 都没有什么神奇之处。admin.py 所做的只是在导入时运行任何注册调用,而所有自动发现所做的只是在每个已安装的应用程序中查找 admin.py 文件并将其导入。没有什么可以阻止您从其他地方(例如模型或视图文件)在其自定义位置导入您的 admin.py。


推荐阅读