0

これは私のsettings.pyで定義されています

TEMPLATE_CONTEXT_PROCESSOR = (
     "django.core.context_processors.request", # <- HERE
     "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",
)

そして、これは私のビューファイルにあります:

def home(request):
     ctx = {}
     request.session['test'] = 1
     return render(request, 'home.html', ctx)
     # return render_to_response('home.html', ctx, 
     #                            context_instance=RequestContext(request))

テンプレートからリクエストオブジェクトにアクセスしようとすると(たとえば{{ request.session.test }}、何も表示されません。Djangoデバッグツールバーに、CONTEXT_PREPROCESSORdjango.core.context_processors.requestに追加されていないことが表示されます。何か助けがありますか?ありがとうございます。

4

1 に答える 1

5

's'がありません。TEMPLATE_CONTEXT_PROCESSORS設定ファイルで定義する必要があります。

于 2012-05-25T08:56:11.493 に答える