【发布时间】:2010-10-03 03:45:01
【问题描述】:
我是按照 django 书和文档学习 Django 的。在 django book 示例中,该项目名为 mysite,并且该项目中有一个名为 book 的应用程序。所以在这种情况下,应用程序被称为“书”。我没问题。
我的困惑出现在可重复使用的应用程序面前。可重用的应用程序通常驻留在项目之外。比如django-registration只有一个独立的文件夹“registration”。那么它的应用名称是什么? “注册”对吧?
如果是这样,是不是在应用命名方面存在一些不一致之处?在第一种情况下,应用名称似乎是项目下的文件夹名称(或子包名称),而在第二种情况下,应用名称是顶级包名称。
我知道你们中的大多数人会说“为什么你对应用程序名称很着迷?只要确保包结构正确并且 django 可以毫无问题地运行。”是的,在大多数情况下,应用名称只不过是一个名称。一种情况除外:指定 AUTH_PROFILE_MODULE。正如文档所解释的,
表示这个模型是 给定站点的用户配置文件模型, 填写设置 AUTH_PROFILE_MODULE 带字符串 由以下项目组成, 用点分隔:
- 应用程序的名称(大小写 敏感的)其中用户配置文件 模型被定义(换句话说, 传递给 manage.py 的名称 startapp 来创建应用程序)。
- 型号名称(不区分大小写 敏感)类。
如果我有一个模型作为可重复包中的用户配置文件,我必须知道应用名称才能正确指定 AUTH_PROFILE_MODULE。
django 是否使用特定的路径搜索顺序来决定应用名称?
【问题讨论】: