我想在我的网页上有一个文本框,旁边有一个图像。当用户点击图像时,它会显示帮助用户选择日期的日历(弹出日历)。我用原始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)
如何将图像绑定到此文本框并强制用户仅从此日历输入日期?
答案 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资源并且设置了某些属性....