鉴于Python 中相对导入的噩梦,我应该将一个简单utils.py
文件放在具有多个应用程序的 Django 项目中的哪里(可在所有应用程序目录models.py
的所有文件中访问)admin.py
?views.py
2019 年似乎仍然没有一个好的答案,尽管 Django 是迄今为止最流行的语言框架。
考虑到 Python 2 将于 2020 年 1 月停止使用,请同时提供 Python 3 的答案。
鉴于Python 中相对导入的噩梦,我应该将一个简单utils.py
文件放在具有多个应用程序的 Django 项目中的哪里(可在所有应用程序目录models.py
的所有文件中访问)admin.py
?views.py
2019 年似乎仍然没有一个好的答案,尽管 Django 是迄今为止最流行的语言框架。
考虑到 Python 2 将于 2020 年 1 月停止使用,请同时提供 Python 3 的答案。
实际上,这个答案解决了这个问题。
读到这里,我不清楚,因为我不确定 Django 是否可以从一个目录导入或获取另一个嵌套文件,但如果你common/utils.py
在根目录(与 相同的目录manage.py
)中创建一个文件,它就会出现,应用程序中的任何文件都将能够在manage.py
运行时解析该导入。
您只需在应用程序目录文件中import common.utils
即可。utils.foo()
我仍然不知道 Django 是如何做到这一点的。