适用于app的django python包

时间:2013-03-20 14:43:21

标签: django

我们想在项目目录之外创建django应用程序。

我们是否需要通过创建setup.py来创建python包并将其安装到site-packages中?

当应用程序嵌入项目文件夹时,这是如何工作的? (我在任何地方都看不到setup.py。)

我想我不知道何时制作包装以及什么时候不能。

1 个答案:

答案 0 :(得分:2)

要从外部位置添加应用,我通常会使用以下内容:

main
  -__init__.py
  -manage.py
  -urls.py
  -settings.py
  -foo
    -__init__.py
    -models.py
    -views.py
    -admin.py

external
  -__init__.py
  -bar
    -__init__.py
    -models.py
    -views.py
    -admin.py

让我们说我们希望将external.bar作为应用包含在django项目main中。

首先确保settings.py main external位于sys.path,因此python可以找到它:

import sys
sys.path.append("/path/to/external")

然后只需将external.bar添加到已安装的应用中:

INSTALLED_APPS = (
    'django.stuff',
    'main.foo',
    'external.bar',
)

然后admin.auto_discover()会找到您的external.bar应用并为其加载管理员。