单页上有和没有csrf标记的表单

我在每个页面都有一个弹出窗口的登录表单,它需要csrf令牌 . 我还有一些表单视图,其表单不需要csrf标记 .

我发现即使我在登录表单上有{%csrf_token%},如果视图没有用csrf_protect()包装它也不会生成令牌,所以当提交登录表单时,它得到一个csrf丢失错误 . OTOH,如果我把它包起来,那么页面上不需要它的另一个表单会抱怨它虽然登录表单有效但却丢失了 . 一个表单提交到当前页面表单视图,而表单提交到单独的表单视图 .

即使没有使用csrf_protect,是否可以生成csrf_token?

我看到了csrf_exempt函数,但在包装视图时它也无济于事 . 是否可以渲染两个视图函数或将其包装在模板中?我只是使用{%include login.html%}

谢谢

回答(0)