Django安装的应用程序位置

15 python django

我是第一次使用Django的经验丰富的PHP程序员,我认为这是不可思议的!

我有一个项目有很多应用程序,所以我想将它们分组到一个应用程序文件夹中.

所以项目的结构是:

/project/
/project/apps/
/project/apps/app1/
/project/apps/app2
Run Code Online (Sandbox Code Playgroud)

然后在Django设置中我把它:

INSTALLED_APPS = (
    'project.apps.app1',
    'project.apps.app2',
)
Run Code Online (Sandbox Code Playgroud)

这似乎不起作用?

有关如何将所有应用程序放入单独文件夹而不是项目根目录的任何想法?

非常感谢.

mon*_*kut 39

确保'__init__.py'文件位于您的apps目录中,如果它不在那里,它将不会被识别为包的一部分.

所以这里的每个文件夹都应该有'__init__.py'文件.(空的很好).

/project/
/project/apps/
/project/apps/app1/
/project/apps/app2
Run Code Online (Sandbox Code Playgroud)

然后只要您的根'module'文件夹在您的PYTHONPATH中,您就可以从您的应用程序导入.

以下是有关您阅读乐趣的python搜索路径的文档:

http://docs.python.org/install/index.html#modifying-python-s-search-path

以及__init__.py文件的简单解释:

http://effbot.org/pyfaq/what-is-init-py-used-for.htm

  • 如果这些应用程序中的任何一个足够通用,可以重用(如果可以的话,最好让它们如此),您可以通过将它们放置在不将它们与项目联系起来的路径位置来避免头痛。 (2认同)