即使我在HTML模板中包含csrf标记,我在使用JQuery表单验证和模态内部的Django时遇到了以下问题。如果我提交表单而没有用JQuery验证它就可以了。
Forbidden (403)
CSRF verification failed. Request aborted.
在服务器端,我使用Django Form验证,没什么特别的。
提前谢谢你:)
这是我的代码:
<form class="form-inline" id="add-subtitle-modal" action="/add_subtitle/" role="form" method="post" enctype="multipart/form-data">
{% csrf_token %}
<div class="form-group">
{{object.description}}
</div>
...
<button class="btn btn-danger" type="submit">save</button>
$('#add-subtitle-modal').validate({
rules: {
...
}
etc
submitHandler: function(form) {
var $form = $(form);
var $inputs = $form.find("input, select, button, textarea");
$inputs.prop("disabled", true);
//let the backend to manage submiting
$form.submit();
}
答案 0 :(得分:1)
这是我的错。在提交之前将输入设置为无效时,csrf也设置为禁用。因此,我认为它没有提交给服务器。我认为这是问题所在,因为我修改了哪个字段变为禁用它起作用。