Django 1.11.6 csrf\u令牌值为空?

2024-09-27 00:22:24 发布

您现在位置:Python中文网/ 问答频道 /正文

设置.py

MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]

我的视图.py

@csrf_protect #ensure_csrf_cookie....etc i tried it.
def category(request):
    context = RequestContext(request)
    dic = {
        'a': 'aaaa',
        'b': 'bbb'
    }
    return render_to_response('cate.html', dic, context_instance=context)

美食.html

<form name="cateForm" id="cateForm" method="POST">
    {% csrf_token %}
    <input type="text" name="href" id="href" size="50">
</form>

如果我查看源代码,那么csrf\u令牌值为空。你知道吗


Tags: djangonamepyformidrequesthtmlcontext
2条回答

不要使用render_to_response,它已经过时了。改用render。你知道吗

def category(request):
    dic = {
        'a': 'aaaa',
        'b': 'bbb'
    }
    return render(request, 'cate.html', dic)

render_to_response函数的context_实例参数已弃用,并已在Django 1.10中删除。这里讨论了这个问题:Django error: render_to_response() got an unexpected keyword argument 'context_instance'。你知道吗

相关问题 更多 >

    热门问题