django应用程序中app.py的目的是什么?

时间:2013-07-08 18:35:47

标签: python django web

在Django 1.4及以上版本中:

  

每个django应用程序中都有一个名为app.py的新文件。它定义了应用程序的范围以及加载时所需的一些首字母。

为什么不将__init__.py用于此目的?比__init__.py方法有什么优势?你能链接到一些官方文档吗?

3 个答案:

答案 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