Python .is_valid()方法,但在使用ajax时未进行验证

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=

当我在项目中使用ajax时,form.is\u valid()方法不验证表单。它显示“this field required error”,但我使用request.POST访问它意味着我填充了所有字段

''' 这是呈现django模型表单的html代码

   ##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()