【发布时间】:2017-04-30 00:09:31
【问题描述】:
我有一个 Django 表单,上面显示了一个日期字段,其数据类型为 mDateField(扩展 forms.DateField 的自定义类)。它在 forms.py 中定义:
class mDateField(forms.DateField):
def __init__(self, *args, **kwargs):
kwargs.setdefault('input_formats', DATE_INPUT_FORMATS)
super(mDateField, self).__init__(*args, **kwargs)
我现在想为该日期字段设置一个“最小”和“最大”可能值(即一个日期,在过去或将来与今天的日期相关的特定时间长度,该值可以设置为)。
我在 SO:jquery datetime picker set minDate dynamic 上遇到了这个答案,并尝试按照它所说的写下一行:
presentation_date = mDateTimeField(required=False, widget=forms.DateTimeInput(format='%d/%m/%Y %H:%M', attrs=({'class':'datetimepicker presentation_date', 'name':'presentation_date2'})))
presentation_date.options.maxDate = $( ".selector" ).datepicker( "option", "maxDate", new Date(2014, 1 - 1, 1));
但是当我这样做时,我在控制台中收到一个语法错误,它指向$,并说:
SyntaxError: 无效语法
我在这里做的有什么问题?如何指定datepicker 中显示的最早/最晚日期应该是什么?
编辑在定义datetimepicker的jQuery文件(jquery.datetimepicker.full.js)中,有以下几行:
if (options.minDate && /^[\+\-](.*)$/.test(options.minDate)) {
options.minDate = dateHelper.formatDate(_xdsoft_datetime.strToDateTime(options.minDate), options.formatDate);
}
if (options.maxDate && /^[\+\-](.*)$/.test(options.maxDate)) {
options.maxDate = dateHelper.formatDate(_xdsoft_datetime.strToDateTime(options.maxDate), options.formatDate);
}
但我看不出这些是如何将值设置为任何实际日期的......?
【问题讨论】:
-
但是.. 那是 jQuery 代码。为什么要把它放在 Python 文件中?
-
啊,所以我应该把它放在 jQuery 代码的某个地方?据我了解,我的 Python 代码引用了一个外部 jQuery 库——我认为我没有任何影响
mDateTimeField的本地 jQuery 代码......如果我在我的代码中右键单击datetimepicker,然后“转到定义”它会打开文件 jquery.datetimepicker.full.js,但据我了解,这是一个外部库,所以我无法更改它?
标签: jquery python django date datepicker