2016-03-25 10 views
1

私はDjangoプロジェクトのドキュメントを生成するためにthis tutorialに従っています。Sphinxドキュメントの作成時にDJANGO_SETTINGS_MODULEが定義されていません

ドキュメントディレクトリ内のconf.pyファイルにsys.path.append(os.path.join(os.path.dirname(__name__), '..'))を追加しました。

しかし、実行しているmake htmlは、このように私にエラーを与え続け:

ImproperlyConfigured:LOGGING_CONFIGを設定する要求が、設定が設定されていません。設定にアクセスする前に環境変数DJANGO_SETTINGS_MODULEを定義するか、settings.configure()を呼び出す必要があります。

私のプロジェクトは正常に実行されているので、私はsettings.configure()と呼ぶはずですか?ここでは、以下のディレクトリ構造にインストールバニラに基づか

答えて

3

ディレクトリ構造

は動作するはずの手順です。ディレクトリ構造は、conf.pyのパスが正しく設定されている場合と異なる場合があります。

├── docs 
│   ├── Makefile 
│   ├── build 
│   └── source 
│    ├── _static 
│    ├── _templates 
│    ├── conf.py 
│    └── index.rst 
└── myproj 
    ├── anapp 
    │   ├── __init__.py 
    │   ├── admin.py 
    │   ├── apps.py 
    │   ├── migrations 
    │   │   └── __init__.py 
    │   ├── models.py 
    │   ├── tests.py 
    │   └── views.py 
    ├── manage.py 
    └── myproj 
     ├── __init__.py 
     ├── settings.py 
     ├── urls.py 
     └── wsgi.py 

スフィンクス設定

conf.pyautodocは、Djangoアプリケーションをブートストラップすることができるようにいくつかの設定が必要です。

# If extensions (or modules to document with autodoc) are in another directory, 
# add these directories to sys.path here. If the directory is relative to the 
# documentation root, use os.path.abspath to make it absolute, like shown here. 
sys.path.insert(0, os.path.join(os.path.abspath('.'), '../../myproj')) # <•• 1 

os.environ['DJANGO_SETTINGS_MODULE'] = 'myproj.settings'     # <•• 2 

import django 
django.setup()               # <•• 3 

1⇒ Djangoプロジェクトのディレクトリを追加(1 manage.py)をPythonパスに追加します。これは2と解決のために必要ですautodoc di直腸が.rstファイルにあります。

2⇒設定モジュールの場所にenv変数を設定します。この例は、バニラのdjango-admin設定に基づいています。より洗練された設定構造を使用している場合(たとえば、devstagingproductionの設定は基本設定から拡張されています)、パスを更新するだけです。 myproj.settings.dev。が最終的にdjango.setup()を呼び出す

3⇒はスフィンクスがそのままDjangoのセットアップからドキュメントを生成するために必要とDjangoのアプリケーションレジストリを移入するために必要です。

$ make htmlautodocを併用する場合は、すべてここに入力する必要があります。

+0

Ahh ...私の 'conf.py'にこれらの変更を加え、myprojectの外にある私のドキュメントフォルダを移動させました。ありがとう! – thanksd

関連する問題