Django {{csrf_token}} выводит только значение токена, без скрытой разметки ввода

Почему не отображается разметка для скрытого поля ввода, когда я использую {{csrf_token}} ?

Вот фрагмент из мой шаблон:

<form action="." method="post">
{{ csrf_token }}

Я ожидаю, что будет сгенерировано что-то вроде этого:

<form action="." method="post">
<input type="hidden" name="csrfmiddlewaretoken" value="0c90dab91e22382cbaa5ef375f709167">

Но вместо этого сгенерирован этот HTML:

<form action="." method="post">
0c90dab91e22382cbaa5ef375f709167

Я делал это много раз, и он отлично работает в других моих проектах, но Я не знаю, что я пропустил на этот раз.

Мой файл views.py выглядит так:

from django.shortcuts import render_to_response
from django.template import RequestContext

def home(request):
    return render_to_response('home.html',
                              context_instance=RequestContext(request))

Как видите, я использую RequestContext. Мои классы промежуточного программного обеспечения определены в файле settings.py следующим образом:

MIDDLEWARE_CLASSES = (
    'django.middleware.common.CommonMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
)

Итак, я использую django.middleware.csrf.CsrfViewMiddleware. Кроме того, я использую Django 1.3.0. Есть идеи?

15
задан Mike M. Lin 2 August 2011 в 09:10
поделиться