2012-08-14 4 views

答えて

16

テンプレートフォルダの絶対パスを指定する必要があります。 Windowsの場合でも常にスラッシュを使用してください。

たとえば、プロジェクトフォルダがある場合は、 "/ホーム/ djangouser /プロジェクト/ myprojectに"(Linux)または 'C:\プロジェクト\ MyProjectと\'(Windowsの場合)、あなたのTEMPLATE_DIRSは次のようになります。

# for Linux 
    TEMPLATE_DIRS = (
     '/home/djangouser/projects/myproject/templates/', 
    ) 

    # or for Windows; use forward slashes! 
    TEMPLATE_DIRS = (
     'C:/projects/myproject/templates/', 
    ) 

また、指定したPROJECT_ROOT変数を使用して、テンプレートフォルダの相対パスに絶対パスを結合することによって生成することもできます。これは、プロジェクトを別の場所にコピーする場合にのみ、PROJECT_ROOTを変更する必要があるという利点があります。あなたはそれを動作させるためにosモジュールをインポートする必要があります。

PROJECT_DIRが定義されていない
# add at the beginning of settings.py 
import os 

# ... 

TEMPLATE_DIRS = (
    os.path.join(PROJECT_ROOT, 'templates/'), 
) 
+0

答えに感謝します。 PROJECT_ROOTは2番目の答えに定義されていません。 – weaveoftheride

+0

私のプロジェクトフォルダは/ Users/andrewwelch/Sites/env /にあり、リモートサーバに置いた場合、これを変更しなければならないと思います。 – weaveoftheride

+0

ええ、私のせいです。私はPROJECT_ROOTが標準変数ではなく、私が検索したsettings.pyに私が追加したことに気付きました。これは基本的にはここの提案と同じです:http://stackoverflow.com/questions/4919600/django-project-root-self-discovorey – eminor

2

... PROJECT_DIRは変数ではありません。フォルダ "templates"が置かれている場所へのディレクトリ/ aパス。あなたがDjangoの1.9を使用している場合、これは

import os 
PROJECT_DIR = os.path.dirname(os.path.dirname(__file__)) 
TEMPLATE_DIRS = os.path.join(PROJECT_DIR, 'templates') 
1

を助けるべきで、BASE_DIR代わりのPROJECT_DIRを使用することをお勧めします。あなたはジャンゴの新しいバージョンで作業している場合

# add at the beginning of settings.py 
import os 

# ... 

TEMPLATE_DIRS = (
    os.path.join(BASE_DIR, 'templates/'), 
) 
9

あなたは、テンプレート]の下のsettings.py内にあるDIRリストに追加する必要があります。

-1

これをweb/settings.pyに追加すると、すべてが解決されました。それがあなたにも役立つことを願っています。

import os 
BASE_DIR = os.path.dirname(os.path.dirname(__file__)) 
from os.path import join 
TEMPLATE_DIRS = (
    join(BASE_DIR, 'templates'), 
) 
+1

これは既に投稿された回答とどのように異なっていますか?あなたがしたのは、完全な 'os.path.join()'スペルを使用するのではなく、グローバルとしてバインド 'join'でした。 –

+0

私はすでに投稿された回答を使用しました。私はBASE_DIRが見つからないというエラーが出る可能性があります – ninyesiga

+0

'BASE_DIR'は単なる名前です(Django 1.9のプロジェクトテンプレートのように見えますが、今では名前を定義しています。https://github.com/django/django/blobを参照)。 /master/django/conf/project_template/project_name/settings.py-tpl)。 [virtualenvを使用するときはdjango settings.pyのTEMPLATE \ _DIRSのパスは何ですか](// stackoverflow.com/a/24706023)、まったく同じ値のために 'PROJECT_DIR'という名前を使用しました。 –

関連する問題