如何使用cripy表单向表单标签添加动作和novalidate属性

问题描述

我正在使用Django构建应用程序。对于Form,我使用酥脆的表单包来呈现表单。

在模板中,我这样渲染表单

{% crispy form %}

我得到这个结果:

<form method="post">
 <input type="hidden" name="csrfmiddlewaretoken" value="..."> 
 <div id="div_id_city" class="form-group">
   <label for="id_city" class=" requiredField">
   City<span class="asteriskField">*</span> </label> 
   <div class=""> <input type="text" name="city" maxlength="255" class="textinput textInput form-control" required="" id="id_city"> </div>
 </div>
 <div class="form-row form-row">
   <div class="from-group col-xs-12 col-md-6">
     <div id="div_id_energy_cons_before" class="form-group">
       <label for="id_energy_cons_before" class=" requiredField">
       Energy consumption before intervention<span class="asteriskField">*</span> </label> 
       <div class=""> <input type="number" name="energy_cons_before" step="any" class="numberinput form-control" required="" id="id_energy_cons_before"> </div>
     </div>
   </div>
   <div class="form-group col-xs-12 col-md-6">
     <div id="div_id_energy_cons_after" class="form-group">
       <label for="id_energy_cons_after" class=" requiredField">
       Energy consumption after intervention<span class="asteriskField">*</span> </label> 
       <div class=""> <input type="number" name="energy_cons_after" step="any" class="numberinput form-control" required="" id="id_energy_cons_after"> </div>
     </div>
   </div>
 </div>
   <input type="submit" name="submit" value="Save" class="btn btn-primary btn btn-primary" id="submit-id-submit">
 </div>
</form>

我想知道如何向action标签添加novalidateform属性

注意::我知道还有其他方法可以使用酥脆的表单来呈现表单。但是我想使用此方法,因为我在form.py中定义了表单的布局(使用松脆的表单布局),如下所示:

class ExampleForm(forms.Form):
   [...]
   def __init__(self,*args,**kwargs):
       super().__init__(*args,**kwargs)
       self.helper = FormHelper()
       self.helper.layout = Layout(
           'city',Row(
               Column('energy_cons_before',css_class='from-group col-md-6'),Column('energy_cons_after',css_class='form-group col-md-6'),css_class='form-row',),...
           Submit('submit','Submit',css_class='button white')
       )

请问有帮助吗?

谢谢。

解决方法

您可以将form_tag = false添加到表单帮助器中。然后,您可以将form标签手动添加到模板中,以通过模板添加您的额外要求吗?

https://django-crispy-forms.readthedocs.io/en/latest/form_helper.html#formhelper-with-a-form-attached-default-layout

,

在您的 ExampleForm 中,您可以尝试:

   self.helper.attrs = {"novalidate": ''}
   self.helper.form_tag = True

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...