Python .is_valid()方法,但在使用ajax时未进行验证
当我在项目中使用ajax时,form.is\u valid()方法不验证表单。它显示“this field required error”,但我使用request.POST访问它意味着我填充了所有字段 ''' 这是呈现django模型表单的html代码Python .is_valid()方法,但在使用ajax时未进行验证,python,html,jquery,django,ajax,Python,Html,Jquery,Django,Ajax,当我在项目中使用ajax时,form.is\u valid()方法不验证表单。它显示“this field required error”,但我使用request.POST访问它意味着我填充了所有字段 ''' 这是呈现django模型表单的html代码 ##HTML FORM## <form action="" method="post" enctype="multipart/form-data" id=
##HTML FORM##
<form action="" method="post" enctype="multipart/form-data" id="reception_form" novalidate> {% csrf_token %}
{% for field1 in form1 %}
<label for="{{field1.id_for_label}}"> {{field1.label}} </label> {{field1}}
<div>
{% if field1.errors %}{% for error in field1.errors %} <small class="errorlist">{{error}}</small> {% endfor %}{% endif %}
</div>
{% endfor %}
{% for field2 in reception %}
{% if field2.name != 'gender' %}
<label for=" {{field2.id_for_label}} "> {{field2.label}} </label> {{field2}}
<div>
{% if field2.errors %}{% for error in field2.errors %} <small class="errorlist">{{error}}</small> {% endfor %}{% endif %}
</div>
{% endif %}
{% endfor %}
{% for radiofield in reception.gender %}
{{radiofield.tag}}
<label for=" {{radiofield.id_for_label}} "> {{radiofield.choice_label}} </label> <br>
{% endfor %}
<input type="submit" value="Add Reception" name="Add Reception" class="btn btn-secondary mb-3" >
</form>
----------
## Ajax ##
$('#reception_form').submit(function(e){
console.log(" submit pressed")
e.preventDefault();
let Rnm = $('#id_username').val();
let Rfnm = $('#id_first_name').val();
let Rlnm = $('#id_last_name').val();
let Rem = $('#id_email').val();
let Rpwd = $('#id_password1').val();
let Rmob = $('#id_mob_no').val();
let Rcty= $('#id_city').val();
let Rdob = $('#id_dob').val();
let Rpr = $('#id_profile_photo').val();
let Rgen = $("input[name='gender']:checked").val()
let Rcsr = $("input[name='csrfmiddlewaretoken']").val()
reception_data = {Rusername : Rnm , Rfirst_name:Rfnm ,Rlast_name:Rlnm ,Remail:Rem , Rpassword:Rpwd, RmMob_no:Rmob , Rcity:Rcty , RBirth_Date :Rdob, Rprofile:Rpr, Rgender:Rgen , csrfmiddlewaretoken:Rcsr};
//console.log(reception_data)
$.ajax({
url: "{% url 'AddReception' %}" ,
type : 'POST',
data : reception_data,
dataType:'json',
success: function(data){
console.log("ajax executed");
console.log(data);
}
});
});
----------
''我认为您正在使用jquery,对吗?然后,我将尝试按如下方式序列化表单数据:
reception_data = $("#reception_form").serialize()
也许将POST数据发送到表单会更好
最好的,
GIOO 嗨Prasad,这个问题将更容易理解,并可能吸引一个答案,如果你在这个问题的中间格式代码片段,使它更整洁。很难看到.submit()返回的是什么所需的代码现在已更新无效()。我正在通过request.POST获取视图中的所有数据
reception_data = $("#reception_form").serialize()