0

我想在我的网页中有一个文本框,旁边有一个图像。当用户单击图像时,它会显示帮助用户选择日期的日历(弹出日历)。我已经在原始 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')

我有一个包含所有表单字段的类backupFormforms.py

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

date1 = forms.CharField(widget=CalendarWidget)

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

4

1 回答 1

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 资源并具有某些属性集....

于 2012-08-29T15:21:54.723 回答