【问题标题】:Location for app-wide utils file in a Django projectDjango 项目中应用程序范围的 utils 文件的位置
【发布时间】:2020-03-02 22:24:27
【问题描述】:
鉴于nightmare of relative imports in Python,我应该将一个简单的utils.py 文件放在具有多个应用程序的Django 项目中的什么位置(可在models.py、admin.py、views.py 所有应用程序目录的所有文件中访问)?
在 2019 年似乎仍然没有一个好的答案,尽管 Django 是迄今为止最流行的语言框架。
考虑到 Python 2 将于 2020 年 1 月停用,请同时提供 Python 3 的答案。
【问题讨论】:
标签:
python
django
relative-import
【解决方案1】:
实际上,this answer 解决了这个问题。
读到这里,我不清楚,因为我不确定 Django 是否可以从目录导入或获取另一个嵌套文件,但如果您在根目录中创建 common/utils.py 文件,它就会出现目录(与manage.py 相同的目录),应用程序中的任何文件都可以在manage.py 的运行时解析该导入。
您只需在 app-directories 文件中使用 import common.utils 和 utils.foo()。
我仍然不知道 Django 是如何做到这一点的。