问题描述
我正在使用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
标签添加novalidate
和form
属性。
注意::我知道还有其他方法可以使用酥脆的表单来呈现表单。但是我想使用此方法,因为我在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标签手动添加到模板中,以通过模板添加您的额外要求吗?
在您的 ExampleForm 中,您可以尝试:
self.helper.attrs = {"novalidate": ''}
self.helper.form_tag = True