相关疑难解决方法(0)

Django的{{csrf_token}}仅输出令牌值,没有隐藏的输入标记

当我使用时,为什么不显示隐藏输入字段的标记{{ csrf_token }}

这是我模板中的一个片段:

<form action="." method="post">
{{ csrf_token }}
Run Code Online (Sandbox Code Playgroud)

我期待生成这样的东西:

<form action="." method="post">
<input type="hidden" name="csrfmiddlewaretoken" value="0c90dab91e22382cbaa5ef375f709167">
Run Code Online (Sandbox Code Playgroud)

但相反,这是生成的HTML:

<form action="." method="post">
0c90dab91e22382cbaa5ef375f709167
Run Code Online (Sandbox Code Playgroud)

我已经做了很多次,并且在我的其他项目中工作正常,但我不知道这次我错过了什么.

我的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))
Run Code Online (Sandbox Code Playgroud)

如您所见,我正在使用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',
)
Run Code Online (Sandbox Code Playgroud)

所以我使用的是django.middleware.csrf.CsrfViewMiddleware.另外,我在Django 1.3.0上.有什么想法吗?

django django-csrf

15
推荐指数
2
解决办法
1万
查看次数

标签 统计

django ×1

django-csrf ×1