質問

私は読んでいます http://www.djangobook.com/en/2.0/chapter04.html これはDjango 1.4に続きますが、Django 1.6を使用しているため、settings.pyがTemplate_dirs変数を持っていないため、Django 1.6のテンプレートディレクトリを設定する方法と、開発者がこれを変更した理由前もって感謝します。

役に立ちましたか?

解決

settings.pyに追加します

from os.path import join
TEMPLATE_DIRS = (
    join(BASE_DIR,  'templates'),
)

他のヒント

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

これを追加します settings.py. 。 Django 1.6で BASE_DIR 定義されています。それ以外の場合は定義します BASE_DIR なので

import os
BASE_DIR = os.path.dirname(os.path.dirname(__file__))

Djangoのチュートリアルによると、追加する必要がありますTEMPLATE_DIRS = [os.path.join(BASE_DIR, 'templates')]あなたに settings.py ファイル(a list ではありません tuple)

そのはず

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

または、次のようなエラーが表示される場合があります。

DeprecationWarning:Template_Dirs設定はタプルでなければなりません。自動修正が廃止されたため、設定を修正してください。
self._wrapped = settings(settings_module)

django> = 1.6の場合それはaです tuple

以下の指定されたコードスニペットを使用します。 settings.pyファイルの最後に貼り付けます。

from os.path import join
TEMPLATE_DIRS = (
    join(BASE_DIR,  'templates'),
)

ここ BASE_DIR 設定]が存在する内部ディレクトリではなく、プロジェクトディレクトリを意味します。内部に「テンプレート」(引用符なし)という名前のディレクトリを作成する BASE_DIR テンプレートをそのディレクトリ内に保存します。 Djangoは、テンプレートディレクトリに参加します BASE_DIR 使用 os.path.join() 関数。お役に立てれば。

私が投稿したように https://stackoverflow.com/a/40145444/6333418 テンプレートの下でsettings.py内にあるdirリストに追加する必要があります。

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': ['[project name]/templates'], # Replace with your project name
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top