我希望能够从我的项目中的应用程序中导入东西,而无需参考我的项目名称。如何在我的PYTHONPATH中包含Django应用程序?
我的文件夹结构就像这样;我有一个名为djangoproject1的项目,里面有一个名为apps的文件夹,然后在该文件夹中有我的个人应用程序。
djangoproject1,应用程序和我所有的应用程序都有一个空的“__init__.py”文件。
在我的settings.py文件我有以下代码:
import os
import sys
PROJECT_ROOT = os.path.dirname(__file__)
sys.path.insert(0, os.path.join(PROJECT_ROOT, "apps"))
我试着将我的应用程序到INSTALLED_APPS几个方面:
'djangoproject1.apps.app1', “djangoproject1 .apps.app2' ,
或
'apps.app1', 'apps.app2',
或
'APP1', 'APP 2',
但没有任何工程。每当我尝试做:
from app1 import *
我得到了一个未解决的导入错误。我正在使用最新版本的eclipse和django
啊。这解释了事情。如果你添加到'settings.py'并且不执行'shell',你的'PYTHONPATH'不会改变。如果您希望应用程序在不使用'shell'的情况下是可导入的,那么您将不得不将其添加到_system variable_'PYTHONPATH'中。您可以通过在生产环境中通过settings.py添加应用程序来逃脱。 – 2010-08-23 17:51:37
好的,非常感谢,所以现在通过Eclipse进行添加对于开发是很好的,只要我在settings.py中保留该代码,当我部署它时,它也应该可以正常工作。 – JPC 2010-08-23 18:11:01