点击图片弹出日历:django表格

时间:2012-08-29 11:53:06

标签: django django-forms django-templates

我想在我的网页上有一个文本框,旁边有一个图像。当用户点击图像时,它会显示帮助用户选择日期的日历(弹出日历)。我用原始html完成了它。但现在我想使用django表格(虽然我没有任何模型)所以我搜索并发现我必须在forms.py中编写自己的小部件。 s.th喜欢:

class CalendarWidget(forms.TextInput):
        css = ('/media/css/main.css', '/media/css/js-cal.css')
        js = ('/media/js/js-cal.min.js')

我在backupForm中有一个课程forms.py,其中包含所有表单字段。

我的问题是:使用上面的CalendarWidget,我应该在backupForm类中定义一个这样的字段吗?

date1 = forms.CharField(widget=CalendarWidget)

如何将图像绑定到此文本框并强制用户仅从此日历输入日期?

1 个答案:

答案 0 :(得分:0)

您可以使用输入字段(文本框)的表单字段,并将CalendatWidget应用为字段的窗口小部件。小部件负责创建/绑定作为按钮的图像。

Django Admin会自动在AdminDateWidget的表单字段上使用model.DateField,尽管有模型部分,您可以在django/contrib/admin/widgets.py中进行检查。检查init()内的django/contrib/admin/static/admin/js/admin/DateTimeShortcuts.js函数,了解Django如何创建/绑定日历按钮到一个输入字段。

你甚至可以在首页中使用AdminDateWidget,只要页面加载了所需的CSS / JS资源并且设置了某些属性....