У меня есть форма Django, на котором отображается поле даты, которое имеет тип данных mDateField
(пользовательский класс, который расширяет forms.DateField
). Она определяется в forms.py с:Django/Python задает минимальные/максимальные значения даты на DateTimeField
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: invalid syntax
Что не так с тем, что я здесь делаю? Как я могу указать, какой должна быть самая ранняя/последняя дата, которая должна быть показана в datepicker
?
Редактировать В файле JQuery, где datetimepicker
определен (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 - я не думаю, что у меня есть какой-либо локальный код jQuery, который влияет на 'mDateTimeField' вообще ... Если я щелкнул правой кнопкой мыши на' datetimepicker' в моем коде и «Перейти к определению» он открывает файл jquery.datetimepicker.full.js, но, как я понимаю, это внешняя библиотека, поэтому я не смогу это изменить? – someone2088