在Django 1.4及以上版本中:
每个django应用程序中都有一个名为
app.py
的新文件。它定义了应用程序的范围以及加载时所需的一些首字母。
为什么不将__init__.py
用于此目的?比__init__.py
方法有什么优势?你能链接到一些官方文档吗?
答案 0 :(得分:3)
即使细节错误(新的Django项目中没有app.py),问题仍然有效。
导入子模块时隐式导入 __init__.py
。因此,如果__init__.py
中的某些内容会自动执行并产生副作用,则可能会遇到意想不到的后果。在app.py
中执行所有操作会导致更长时间的导入,但会将package init与app init逻辑分开。
答案 1 :(得分:2)
由于您提供的所有链接都清楚地显示,这与Django本身没有任何关系,而是由第三方应用程序django-oscar应用的约定。
答案 2 :(得分:0)
有时,当人们学习新技术时,他们会像在教程中看到的那样复制文件名。有些人甚至继续使用那些习惯,出于思考他们需要做的事情,或者他们只是喜欢它。这可能就是您经常看到 app.py 的原因。
以下是一个此类教程https://realpython.com/blog/python/flask-by-example-part-1-project-setup/
的示例他们正在建造“烧瓶示例”,说明书给你这个命令
touch app.py .gitignore README.md requirements.txt
所以当然你现在有了那个文件。这与javascript项目相同,他们可能会列出 scripts.js 或css教程,他们使用 styles.css 。