python - Django:将 .py 文件移动到文件夹中进行整理

标签 python django

我有一个 Django 项目,我认为整理一下并将所有 .py 文件放入一个文件夹中会很好。

我的目录结构最初相当简单:

[site]
├── [mysite]
│   ├── __init__.py
│   ├── admin.py
│   ├── settings.py
│   ├── urls.py
│   ├── views.py
│   └── wsgi.py
└── manage.py

现在我已将除 __init__.py 之外的所有 .py 文件移至文件夹 py 中。

[site]
├── [mysite]
│   ├── __init__.py
│   └── [py]
│       ├── admin.py
│       ├── settings.py
│       ├── urls.py
│       ├── views.py
│       └── wsgi.py
└── manage.py

为了确保这能够正常工作,我仔细检查了所有对文件的引用并将其更改为新位置。例如,在 manage.py 中我更改了:

if __name__ == "__main__":
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.settings")

if __name__ == "__main__":
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.py.settings")

我这样做是为了找到所有我能找到的引用资料。但我现在面临的问题是 admin.py 似乎没有在任何地方被引用或导入,当我现在对其进行更改时,它不会导致我的测试服务器重新启动,因此它显然已断开连接来自项目。

是否有某种方法可以将 Django 指向 admin.py 的新位置?是否有一些参数可以放入我缺少的 settings.py 中?

编辑:我在下面发布了我自己的答案,但如果您有更好的答案,请添加。

最佳答案

我已经想出了一个办法,尽管这不是我理想的解决方案。

我在这个问题的已接受答案中找到了一些灵​​感: Splitting "admin.py" of a Django project?

那里说 admin.py 文件可以替换为 admin 文件夹,然后在其中可以放置 __init__.py 文件,其中包含所有管理文件的导入语句。

所以我这样做了,但只是将我的导入语句写成这样:

from mysite.py import admin

这样我就可以将 admin.py 文件与我在问题中提到的所有其他文件一起保存在 py 文件夹中。

但是,正如我所提到的,这对我来说并不理想,因为它仍然意味着拥有额外的 admin 文件夹,我宁愿找到其他更简单的方法来做到这一点,但我还没有找到一。如果您有更好的答案,请发布。

关于python - Django:将 .py 文件移动到文件夹中进行整理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57381050/

相关文章:

python - pybind11 STL 自动转换器破坏 std::list 指针

python - social.actions.do_complete 在 python-social-auth 中不起作用

python - 两个类 : one for the django model and one for representing the data outside of django

django - Django 对象的深度 JSON 序列化

Python:在方法之间传递变量时,是否需要为其指定一个新名称?

python - 如何计算范围而不是箱中的列值?

django - 重命名django自定义权限

javascript - jQuery 自动转义 Django 模板标签

python - django-appengine 服务器未启动

python - 如何在 Kivy 中为设置创建自己的类型?