这是关于如何在django支持的站点中使用jQuery date picker
。
models.py
是
from django.db import models
class holidaytime(models.Model):
holiday_date = models.DateField()
我正在使用jquery datepicker
。
我正在使用model form
并创建text field
以成功显示日期。
但未能显示日期选择图标。我正在使用Django模型表单。
答案 0 :(得分:37)
您可以使用widget
将class
传递给表单,当它将在html中呈现时。然后class
会读取javascript
以呈现datepicker
功能。
以下是一个例子:
from django import forms
class HolidayTimeForm(forms.Form):
holiday_date = forms.DateField(widget=forms.TextInput(attrs=
{
'class':'datepicker'
}))
...或使用ModelForm时通过Meta类中的widgets
属性:
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>
答案 1 :(得分:9)
您可以使用Bootstrap-datetimepicker(而非datepicker),这是一个示例:
<link href="//cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
<link href="//cdn.bootcss.com/bootstrap-datetimepicker/4.17.44/css/bootstrap-datetimepicker.min.css" rel="stylesheet">
<script src="//cdn.bootcss.com/jquery/3.0.0/jquery.min.js"></script>
<script src="//cdn.bootcss.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script src="//cdn.bootcss.com/moment.js/2.17.1/moment.min.js"></script>
<script src="//cdn.bootcss.com/bootstrap-datetimepicker/4.17.44/js/bootstrap-datetimepicker.min.js"></script>
&#13;
使用小部件将class / id添加到日期时间字段:
class MyTaskForm(forms.ModelForm):
class Meta:
model = MyTask
fields = ['completeDateTime']
widgets = {
'completeDateTime': forms.DateTimeInput(attrs={'class': 'datetime-input'})
}
将脚本添加到模板/ html文件中:(注意格式,导入使用相同格式的Django)
<script>
$(function () {
$('.datetime-input').datetimepicker({
format:'YYYY-MM-DD HH:mm:ss'
});
});
</script>
&#13;