osモジュールを使用して、Djangoプロジェクトの相対パスをsettings.py
ファイルにしています。変数SITE_ROOTは、settings.py
ファイルの現在の作業ディレクトリに設定され、同じディレクトリにあるstatic/media
ディレクトリもすべて参照するために使用されます。os.getcwd()とos.path.abspath(os.path.dirname(__ file__))
HERESに私の問題:settings.pyで
print os.getcwd()
print os.path.abspath(os.path.dirname(__file__))
、上記の文の両方が、同一の出力を有します。 os.getcwd()
に設定
TEMPLATE_DIRS = (
os.path.join(SITE_ROOT, 'templates'),
)
SITE_ROOTは、Djangoはsettings.py
ファイル
SITE_ROOT = os.path.abspath(os.path.dirname(__file__))
Djangoはここでテンプレートを探しますを使用している場合が、私のテンプレートにのみロードされます
私はちょうど同じように簡単にos.getcwd()
を使用せず、私のサイトは正常に動作しますが、ここで何が起こっているのかも知りません:)
誰でも知っていますか?
現在の作業ディレクトリと '__file__'は無関係です。最初はプログラムをどこから実行するか、 'os.chdir'を使うかどうかによってモジュールがファイルシステムに置かれる場所に依存します。 –