csrf使用csrf和Request Context失败

时间:2017-02-21 03:54:23

标签: python django csrf django-csrf

我已尝试过所有可以从论坛收集的内容,仍然需要帮助: 提交表单时,我一直收到CSRF token missing or incorrect错误。它曾经工作正常,然后我做了一些更改,现在我无法回来..我正在使用{% csrf_token %}RequestContext。我已尝试使用reverse,我检查settings.py的{​​{1}}中间件,尝试重新启动服务器,尝试使用csrf middleware代替HttpResponse和{{1尝试了一个url路径而不是{%url%}标记。在我的项目的其他部分,我甚至没有使用HttpResponseRedirect,它工作正常..

signup_page.html:

template.render()

views.py

RequestContext

urls.py:

<p>Sign Up Below
</p>
    <form action={% url 'signup_page' %} method="post">
    {% csrf_token %}

    ....

    Email
    <input type="email" name="email" required="true"><br><br>

    <input type="submit" value="POST">

</form>

2 个答案:

答案 0 :(得分:0)

添加csrf装饰器。参考:https://docs.djangoproject.com/en/1.10/ref/csrf/#module-django.views.decorators.csrf

from django.views.decorators.csrf import csrf_protect

@csrf_protect
def signup_page(request):
   ...

答案 1 :(得分:0)

from django.shortcuts import render

#create your views here
def your_function(request):
    #do whatever you want here...
    context = {'any_data': 'you_want_to_send'}
    return render(request,'your.html',context)