我在Django(Django 1.11.2,python 3.5.3)中编写了一个表单。我对它产生的html不满意 - 我在一些外部库中找到了更好的输入元素。如何自定义由django表单域产生的html
我有forms.py:
class ReportForm(forms.Form):
fromTime = forms.DateField(label="Od")
toTime = forms.DateField(label="Do")
和HTML模板:
<form action="/report/selectDocument" method="post">
{% csrf_token %}
<table>{{ form.as_table }}</table>
<input type="submit" value="Submit" />
</form>
它们共同产生:
<input type="text" name="fromTime" required id="id_fromTime" />
....
<input type="text" name="toTime" required id="id_toTime" />
虽然我想获得:
<input data-dependent-validation='{"from": "date-to", "prop": "max"}' type="date" id="fromTime" placeholder="RRRR-MM-DD" />
<input data-dependent-validation='{"from": "date-from", "prop": "min"}' type="date" id="toTime" placeholder="RRRR-MM-DD" />
如何告诉Django为表单域生成这样的html?变化可以是全球性的,但我更喜欢它是每场。
变化看起来很小,但我想实现这样的效果:http://fiddle.jshell.net/KEfEX/37/我可以硬编码自定义输入元素,但我更喜欢使用django表单。然而,形式产生的日期输入相当差 - 用户必须使用键盘写日期,而不是用鼠标选择(我知道widget=forms.SelectDateWidget()
,但小提琴的解决方案甚至更好)。
所以,你可以使用[控件调整(https://stackoverflow.com/questions/45023799/custom-authentication- form-does-not-apply-bootstrap-css/45023977#45023977)给你的表单css类。用那些你可以风格的形式。对于forms.py中的占位符集属性。 – hansTheFranz