bootstrap-datepicker和django模板,一个简单的方法
bootstrap-datepicker and django template, an easy way
我想在我的模板中使用日期选择器。有没有办法省略 forms.py
中的内容并简单地执行以下操作:
<tr class="new">
<form method="post">
{% csrf_token %}
<td>
<input size="10" type="text" class="form-control" id="date" name="{{ form.date }}">
<script type="text/javascript">
$("#date").datepicker({format: "dd/mm/yyyy", autoclose: true});
</script>
</td>
...
也就是说,使用 {{ form.date }}
作为输入的名称?不幸的是,这个解决方案对我不起作用。
您可以使用 HTML 或 Bootstrap 定义自定义输入字段,只要您让 Django 知道您指的是 forms.py
中的哪个输入字段。您可以通过在 HTML 输入字段中指定正确的 id
来做到这一点。
例如,如果您的表单在 forms.py
:
中采用 DateField
from django import forms
class YourForm(forms.Form):
some_date = forms.DateField()
# ... more stuff
那么,输入的正确 id
应该是 id='id_some_date'
。
(而 name
将是 name='some_date'
。)
编辑:在你的情况下,你可以尝试id='{{ form.date.id_for_label }}'
,这样你就不需要硬编码id
。
呈现模板时,{{ form.date }}
将呈现到 HTML 输入表单,即您在 forms.py
中指定的表单。
我想在我的模板中使用日期选择器。有没有办法省略 forms.py
中的内容并简单地执行以下操作:
<tr class="new">
<form method="post">
{% csrf_token %}
<td>
<input size="10" type="text" class="form-control" id="date" name="{{ form.date }}">
<script type="text/javascript">
$("#date").datepicker({format: "dd/mm/yyyy", autoclose: true});
</script>
</td>
...
也就是说,使用 {{ form.date }}
作为输入的名称?不幸的是,这个解决方案对我不起作用。
您可以使用 HTML 或 Bootstrap 定义自定义输入字段,只要您让 Django 知道您指的是 forms.py
中的哪个输入字段。您可以通过在 HTML 输入字段中指定正确的 id
来做到这一点。
例如,如果您的表单在 forms.py
:
from django import forms
class YourForm(forms.Form):
some_date = forms.DateField()
# ... more stuff
那么,输入的正确 id
应该是 id='id_some_date'
。
(而 name
将是 name='some_date'
。)
编辑:在你的情况下,你可以尝试id='{{ form.date.id_for_label }}'
,这样你就不需要硬编码id
。
呈现模板时,{{ form.date }}
将呈现到 HTML 输入表单,即您在 forms.py
中指定的表单。