我有一个Django表单,上面显示了一个日期字段,它的数据类型为mDateField
(一个扩展forms.DateField
的自定义类)。定义见表单.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上找到了这个答案,并试着按照它所说的写下一行:
^{pr2}$但是当我这样做时,我在控制台中得到一个语法错误,它指向$
,并说:
SyntaxError: invalid syntax
我在这里做的有什么不对?如何指定要在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);
}
但我不明白这些是如何将值设置为任何实际日期的。。。?在
好的,首先-从python文件中删除javascript代码;)。 第二,任何对django表单的验证都必须在服务器(django)上完成,而不是在前端(JS)上!所以,你可以做两件事:
1) 编写自定义小部件并将其添加到您的datefield(这更难)。
2) 使用django默认日期域(https://docs.djangoproject.com/en/1.10/ref/forms/fields/#datefield):
如果使用默认的DateField,则可以在form类中编写自定义方法,命名为(clean_your_field_name),在您的情况下,它将被称为clean_presentation_date:
^{pr2}$相关问题 更多 >
编程相关推荐