Django外汇转换器Web应用出现CSRF token缺失或错误问题的排查求助
解决Django CSRF Token错误的问题
嘿,我一眼就发现问题所在啦——你把{% csrf_token %}放在了<form>标签的外面!这就导致提交表单时,CSRF token并没有被作为表单数据的一部分发送给服务器,Django自然就会抛出"CSRF token missing or incorrect"的错误。
修复步骤很简单:
把{% csrf_token %}移动到<form>标签内部即可,比如放在表单输入框的前面:
<form action="." method="POST"> {% csrf_token %} <input type="text" name="eur" placeholder="EUR"> <input type="submit"> </form>
额外检查点(以防还有潜在问题):
- 确认你的
settings.py中已经启用了django.middleware.csrf.CsrfViewMiddleware中间件(这是Django默认启用的配置,但最好核实一下)。 - 如果你后续改用AJAX提交表单,需要在请求头里带上CSRF token,但这里是普通表单提交,只要token在form内部就没问题。
修改完成后再提交表单,Django就能正确接收到CSRF token并通过验证,你的汇率转换功能应该就能正常运行了。
内容的提问来源于stack exchange,提问作者Mario Mateaș
相关产品推荐
相关产品推荐

