当我使用时,为什么不显示隐藏输入字段的标记{{ csrf_token }}?
{{ csrf_token }}
这是我模板中的一个片段:
我期待生成这样的东西:
但相反,这是生成的HTML:
我已经做了很多次,并且在我的其他项目中工作正常,但我不知道这次我错过了什么.
我的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上.有什么想法吗?
您必须将其用作标记{% csrf_token %}而不是视图传递的变量{{csrf_token}}
{% csrf_token %}
{{csrf_token}}
我使用模板中的下一个来解决您的问题: