{{csrf_token}} do Django está produzindo apenas o valor do token, sem a marcação de entrada oculta
Por que a marcação do campo de entrada oculto não aparece quando eu uso{{ csrf_token }}
?
Aqui está um trecho do meu modelo:
<form action="." method="post">
{{ csrf_token }}
Espero que algo assim seja gerado:
<form action="." method="post">
<input type="hidden" name="csrfmiddlewaretoken" value="0c90dab91e22382cbaa5ef375f709167">
Mas, em vez disso, este é o HTML gerado:
<form action="." method="post">
0c90dab91e22382cbaa5ef375f709167
Eu fiz isso muitas vezes e está funcionando bem em meus outros projetos, mas não sei o que perdi dessa vez.
arquivo @My views.py aparece assim:
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))
Como você pode ver, estou usando o RequestContext. Minhas classes de middleware são definidas assim no arquivo 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',
)
Então, estou usando o django.middleware.csrf.CsrfViewMiddleware. Além disso, estou no Django 1.3.0. Alguma idéia por a