2013-03-16 5 views
22

自動的にSettings.pyにリストされる予定ですか、それとも追加する必要がありますか?私は、開発に画像ファイルを提供するのに馬鹿げた苦労を抱いています。ドキュメントは、私の味のためにあまりにも簡潔であり、なんらかの理由で私にはっきりと物を綴っていません。私はtemplate_context_processorsが何であるか確認したいのですが、どこにありますか?私のsettings.pyファイルにはありません。これは一般的に編集する必要がありますか?あなたのsettings.pyあなたが定義することができTEMPLATE_CONTEXT_PROCESSORS設定でDjango 1.5のテンプレートコンテキストプロセッサはどこにありますか?

("django.contrib.auth.context_processors.auth", 
"django.core.context_processors.debug", 
"django.core.context_processors.i18n", 
"django.core.context_processors.media", 
"django.core.context_processors.static", 
"django.contrib.messages.context_processors.messages") 
+0

あなたが投稿したのはテンプレートコンテキストプロセッサのリストです – catherine

答えて

45

しかし、Djangoはデフォルトのプロセッサを維持するカスタムテンプレートのコンテキストプロセッサを追加したい場合は、あなたがsettings.py

import django.conf.global_settings as DEFAULT_SETTINGS 

TEMPLATE_CONTEXT_PROCESSORS = DEFAULT_SETTINGS.TEMPLATE_CONTEXT_PROCESSORS + (
    'custom_context_processors.my_context_processor', 
) 
で次の操作を行うことができます

("django.contrib.auth.context_processors.auth", 
"django.core.context_processors.debug", 
"django.core.context_processors.i18n", 
"django.core.context_processors.media", 
"django.core.context_processors.static", 
"django.core.context_processors.tz", 
"django.contrib.messages.context_processors.messages") 

でこの設定のデフォルト値を定義しています

TEMPLATE_CONTEXT_PROCESSORS docを参照してください。

+0

ありがとうございました。私は新しいDjangoプロジェクトを作成し、自動作成されたsettings.pyファイルにTEMPLATE_CONTEXT_PROCESSORSがあらかじめ埋め込まれているのを確認しません。静的ファイルを提供するには、上記をコピー&ペーストする必要がありますか、ここで間違ったパスをとっていますか? – user798719

+0

@ user798719、私はそうは思わない。その設定はデフォルトであり、編集する必要はありません。また、これは静的ファイルを提供するために必要とは思わない。 – Rohan

+0

ありがとうございます。もう1つの質問。新しいカスタムコンテキストプロセッサを追加したい場合は、これをデフォルトのコンテキストプロセッサに何らかの形で追加することができますか、またはsettings.pyでフルコンテキストプロセッサの設定をコピーする必要がありますか? – Miquel

3

djangoのpythonシェルにジャンプして設定をインポートすることで、あなたのアプリケーションが使用しているコンテキストプロセッサを確認できます。

$ manage.py shell 
> from django.conf import settings 
> settings.TEMPLATE_CONTEXT_PROCESSORS 

オーバーライドしていない場合は、デフォルトをレンダリングする必要があります。

静的ファイルの場合、djangoの開発サーバーが静的資産を提供するために探す場所であるSTATICFILES_DIRSを確認してください:https://docs.djangoproject.com/en/dev/ref/settings/#std:setting-STATICFILES_DIRS

私は私のsettings.pyでこれを使用します。

from os.path import join, abspath 
PROJECT_ROOT = abspath(join(dirname(__file__), '..', '..')) 
STATICFILES_DIRS = [join(PROJECT_ROOT, 'public'), ] 

それはあなたのプロジェクトのレイアウト方法によって異なりますので、これがあなたのために同じではありません。

関連する問題