从Django的角度来看,“应用程序”如何工作?

时间:2018-11-09 15:00:50

标签: python django

首先,问题是技术性的,而不是概念性的。

文档在不同地方提到您应该将INSTALLED_APPS放入应用程序的根模块。但是,该模块应该包含什么?

根据惯例,startapp myapp创建的大多数文件都在那里。例如,urls, views, admin文件是从其他模块通过完全限定的名称导入的,并且实际上可以在任何地方,因此它们只是约定。在django逻辑中似乎唯一被“硬编码”的是models.py

那么,从INSTALLED_APPS的角度来看, app 是否仅由其models.py组成?还是我还缺少其他东西?文档是否在任何地方都明确指出了这一点?

1 个答案:

答案 0 :(得分:0)

  

感谢@RobinZigmond为我指出了文档的正确部分。

看来,除models子模块外,所有内容实际上都是约定。 initialization process的说明指出,对于INSTALLED_APPS

中的每个应用
  1. 模块myapp已导入。模型尚未准备好。
  2. models子模块(如果已导入myapp)。 您必须在models.pymodels/__init__.py
  3. 中导入定义模型
  4. 在应用程序注册表中将相应的ready标志设置为True