0

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

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

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

我想我不明白什么时候做一个包裹,什么时候不做。

4

1 回答 1

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.pyof 中main external是 onsys.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应用程序并为其加载管理员。

于 2013-03-20T16:40:34.930 回答