我有一个包含POST的多个表单的网页 . 我在每个表单中都包含了{%csrf_token%} .
<form class="form-horizontal clearfix" role="form" id="Form1" method="post"> {% csrf_token %}
在我看来,我使用了bot ensure_csrf_cookie和csrf_protect装饰器
@ensure_csrf_cookie
@csrf_protect
@operation('monitor')
def monitor(request, **kwargs):
第一个POST请求从后端获取一些详细信息并将其显示在UI中 . 之后,从用户请求一些数据,然后提交第二个表单 .
在firefox中:当我第一次加载页面时,在第一篇文章之后,csrftoken是X.对于第二个post请求,csrftoken cookie也是相同的 . 但是一旦抛出错误,csrf cookie就会变为不同的值 . 如果我在此之后刷新页面,则csrftoken保持不变,如果我再次发布请求,则成功 . 我还验证了表单有隐藏值csrfmiddlewaretoken . 这与cookie匹配 . 加载页面时,我没有看到任何404 for favicon . 这是以前的事 . 但我解决了这个问题,并且chrome开始工作 .
在chrome:这是有效的 .
关于如何解决这个问题的任何指针?
1 回答
这是favicon.ico找不到的错误 . 我在base.html中添加了这个 .
<link rel="shortcut icon" type="image/png" href="{% static "tools/ico/favicon.ico" %}"/>
参考:https://code.djangoproject.com/ticket/28488#comment:22