Django 如何在datefield上显示datepicker日历

Django 如何在datefield上显示datepicker日历,django,django-models,Django,Django Models,这是关于如何在django支持的站点中使用jQuery日期选择器的问题 models.py from django.db import models class holidaytime(models.Model): holiday_date = models.DateField() 我使用的是jquery日期选择器 我正在使用模型表单并创建文本字段,以成功显示日期 但未能显示日期选择器图标。我使用的是Django模型表单。当表单在html中呈现时,您可以使用小部件将类传递给表单。然后j

这是关于如何在django支持的站点中使用jQuery
日期选择器的问题

models.py

from django.db import models
class holidaytime(models.Model):
    holiday_date = models.DateField()
我使用的是
jquery日期选择器

我正在使用
模型表单
并创建
文本字段
,以成功显示日期


但未能显示日期选择器图标。我使用的是Django模型表单。

当表单在html中呈现时,您可以使用
小部件
传递给表单。然后
javascript
将读取
class
,以呈现
datepicker
函数

以下是一个例子:

from django import forms
class HolidayTimeForm(forms.Form):
    holiday_date = forms.DateField(widget=forms.TextInput(attrs=
                                {
                                    'class':'datepicker'
                                }))
。。。或者在使用ModelForm时,通过Meta类中的
小部件
属性:

class HolidayTimeForm(forms.ModelForm):

    class Meta:
        model = Holiday
        widgets = {
            'holiday_date': forms.DateInput(attrs={'class':'datepicker'}),
        }
现在在模板中:

 /* Include the jquery Ui here */
 <script>
  $(function() {
    $( ".datepicker" ).datepicker({
      changeMonth: true,
      changeYear: true,
      yearRange: "1900:2012",
      // You can put more options here.

    });
  });
  </script>
/*在此处包括jquery Ui*/
$(函数(){
$(“.datepicker”).datepicker({
变化月:对,
变化年:是的,
年份范围:“1900:2012”,
//您可以在此处添加更多选项。
});
});
您可以使用(不是日期选择器),下面是一个示例:

from django import forms
class HolidayTimeForm(forms.Form):
    holiday_date = forms.DateField(widget=forms.TextInput(attrs=
                                {
                                    'class':'datepicker'
                                }))
  • 将必要的脚本和文件添加到模板中:
  • 
    
    您可能应该使用类,而不是id。如果页面上有此表单的多个副本,或者同一表单中有两个日期,该怎么办?无法实现此功能。下面的答案有效,并为我提供了更多的灵活性。仅通过更改格式获取时间/日期选择器。e、 格式:'HH:mm'