【问题标题】:django 1.11.6 csrf_token value is null?django 1.11.6 csrf_token 值为空?
【发布时间】:2023-03-18 15:18:01
【问题描述】:

settings.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',
]

myview.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)

cate.html

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

我 html 查看源代码然后 csrf_token 值为 null。

【问题讨论】:

    标签: python django csrf


    【解决方案1】:

    不要使用render_to_response,它已经过时了。请改用render

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

    【讨论】:

      【解决方案2】:

      render_to_response 函数的context_instance 参数已被弃用,并在 Django 1.10 中被删除。这个问题在这里讨论过:Django error: render_to_response() got an unexpected keyword argument 'context_instance'

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-05-14
        • 2011-08-04
        • 1970-01-01
        • 1970-01-01
        • 2011-05-12
        • 2021-09-28
        • 1970-01-01
        • 2017-10-12
        相关资源
        最近更新 更多