1

django 1.5 で設定ファイルを設定すると、django テンプレートの TEMPLATE_CONTEXT_PROCESSORS によってロードされる必要がある他の変数にDEBUG=Falseアクセスできなくなりました。STATIC_URL奇妙なことに、DEBUG=True. その価値については、私は間違いなく持っ'django.core.context_processors.static'ているTEMPLATE_CONTEXT_PROCESSORSので、それは問題ではありません. テンプレートコンテキストで他のいくつかの変数もチェックしましたが、他に何もないようです。MEDIA_URL? いいえ。request? いいえ。github のこの例(ソリューションで更新されています) を参照してください。ただし、これらは次の場合に正しく機能しDEBUG=True、500 エラーをスローする重要な部分DEBUG=Falseです。

# settings.py
from django.conf.global_settings import *
# ...
TEMPLATE_CONTEXT_PROCESSORS += (
    'django.core.context_processors.request',
)
# believe it or not, 'django.core.context_processors.static' is in there
print TEMPLATE_CONTEXT_PROCESSORS 

# views.py
from django.template import RequestContext
from django.shortcuts import render_to_response
def wtf(request):
    return render_to_response(
        "wtf.html", {}, 
        context_instance=RequestContext(request)
    )

デバッグモードをオフにすると、django 1.5 で何か特別なことが起こりますか? 問題を修正および/またはデバッグするための提案は大歓迎です!

4

2 に答える 2

0

Django 1.2 と 1.3 の間で変更があったようです。

デバッグ モード以外のテンプレートで を使用できるようにdjango.core.context_processors.staticするTEMPLATE_CONTEXT_PROCESSORS場合は、に含める必要があります。STATIC_URL

RequestContextまた、テンプレートをレンダリングするときにインスタンスを使用していることを確認する必要があります。

于 2013-04-18T13:58:32.243 に答える
0

これは、settings.py のALLOWED_HOSTS変数を編集することで修正できます。詳細については、この回答を参照してください。

たとえば、これをlocalhost で機能さALLOWED_HOSTS = ['localhost']せるには、次のように設定します。

于 2013-04-19T13:37:03.137 に答える