CSRF验证失败。请求中止。 Django 2.0

时间:2018-02-06 17:09:06

标签: python django csrf

def order_view(request):
    if request.method == 'POST':
        form = OrderForm(request.POST)
        if form.is_valid():
            return HttpResponseRedirect('Order Submitted')
    else:
        form = OrderForm()

    return render_to_response('home/order.html', {'form': form})

views.py中的order_view函数

<form class="form form-table" method="post">
{% csrf_token %}
{{ form|crispy   }}
<input class="btn br-green" type="submit" value="Submit"/>
</form>

其中仍然存在CSRF错误。尝试了大部分解决方案,但它们没有工作。还尝试添加RequestContext(请求)。

1 个答案:

答案 0 :(得分:0)

HttpResponseRedirect需要一个网址。我不认为&#39;订单已提交&#39;是

尝试

def order_view(request):
    if request.method == 'POST':
        form = OrderForm(request.POST)
        if form.is_valid():
            form.save()
    else:
        form = OrderForm()
    return render_to_response('home/order.html', {'form': form})

如果这样可行,那么您需要对django.messages进行排序并使用它来向您的用户提供消息。