Как добавить DatePicker и Timepicker для форм Django.SplitDateTimeField? - PullRequest
0 голосов
/ 30 апреля 2018

У меня есть форма, которая разделяет дату и время из поля даты и времени в модели.

class MyForm(forms.ModelForm):

    class Meta:
        model   = MyModel
        fields  = ('name', 'description', 'start', 'end',)
        widgets = {
            'start': forms.SplitDateTimeWidget(),
            'end': forms.SplitDateTimeWidget(),
            }

Как я могу добавить указатель даты и время в каждое отдельное поле ввода?

Окружение:

'start': forms.SplitDateTimeWidget(attrs={'type': 'date'})

делает оба ввода datepicker, но мне нужно второе, чтобы быть timepicker ..

Я использую Django 2.0, бутстрап и хрустящие формы

1 Ответ

0 голосов
/ 30 апреля 2018

forms.SplitDateTimeWidget () отображает HTML-ввод, который может содержать некоторые атрибуты, которые вам понадобятся в вашем шаблоне:

forms.SplitDateTimeWidget(attrs={'attrs': 'attrs'})`.
# You don't need to edit the "input:type", type text is good

Рендеринг будет примерно таким

<input type='text' name='field_name_0' id='id_field_name_0' attrs='attrs'>
<input type='text' name='field_name_1' id='id_field_name_1' attrs='attrs'>

Согласно документации , Новое в Django 2. *
Вы можете добавить отдельные атрибуты.

# Free to add attributes that you want
'start': forms.SplitDateTimeWidget(
    date_attrs({'class':'datepicker'}), # or override the ID, "id":id
    time_attrs({'class':'timepicker'}),
)

Так как я не знаю, какой Datetime ни Timepicker , который вы используете в своем проекте. Итак, по вашему js назовите каждого из них по условному названию class ...

$(".datepicker").datepicker();
$(".timepicker").timepicker();
...