0

在我的 Django 模板中,我有一个 POST 表单。它包括标签 {% csrf_token %}。如果我正常提交此表格,那么一切正常。但是,我需要通过 Javascript/Jquery 更改表单输入值:

$('input').val(id);

如果我这样做,那么我在提交表单时会收到“CSRF 验证失败”错误消息。我确实通过 Javascript 提交表单,但只要我不动态更改任何值,这不是问题。

我一直在通过在我的 Python 函数上方编写 @csrf_exempt 来“解决”这个问题。但是,这会跳过安全性。还有其他方法吗?

4

1 回答 1

0

命令$('input').val(id);覆盖所有可以找到的输入条目,因此隐藏csrf_token的输入失去了它的价值。尝试制作更具体的选择器。例如:

$('input[name=change-me]').val(id);
于 2012-10-08T15:41:26.787 回答