2012-07-20 58 views
2

我刚刚将一个Django项目移植到一个新的virtualenv中。该项目工作正常,但我无法构建我的狮身人面像文档。Sphinx Docs不导入Django项目设置

在我conf.py

我有这样的:

import sys, os 

sys.path.append('/path/to/myproject') 

from django.core.management import setup_environ 
from myproject import settings 

setup_environ(settings) 

但是当我使用make html我得到这个错误:

from myproject import settings 
    ImportError: No module named myproject 

任何帮助非常赞赏。

回答

3

原来,conf.py需要看起来像这样:

import sys, os 

sys.path.append('/path/to') 

from myproject import settings 
from django.core.management import setup_environ 
setup_environ(settings) 

希望这可以帮助别人。

2

Django 1.4已弃用setup_environ。下面是Django的1.4类似的代码及更高版本:

import sys, os 
cwd = os.getcwd() 
parent = os.path.dirname(cwd) 
sys.path.append(parent) 
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "myproject.settings") 
0

有这个问题,一个Django 1.7.5项目,我认为这是到我们做了一些奇怪的项目布局的决定,但我需要一个额外的步骤来解决这个使用jwhitlock的回答是:

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "myproject.settings") 
from django.conf import settings 

当我这样做没用的进口就发现这是在DJANGO_SETTINGS_MODULE规定,但并没有被车博士过程中发现我的自定义Django的设置。我认为这是因为该项目生活在父母具有相同名称的文件夹中,但检查sys.path仅显示“正确”文件夹,因此导入应该可以正常工作,但发现它无法找到我的设置。