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 中指定的表单。