Я создал пользовательский SelectTimeDateWidget, который использовал SelectDateWidget по умолчанию и пользовательские SelectTimeWidgetMultiWidget Перерыв в шаблоне
class SelectDateTimeWidget(forms.MultiWidget):
supports_microseconds = False
def __init__(self, attrs=None, date_format=None, time_format=None):
widgets = (SelectDateWidget(empty_label=("Year", "Month", "Day")),
SelectTimeWidget(use_seconds=False))
super(SelectDateTimeWidget, self).__init__(widgets, attrs)
def decompress(self, value):
if value:
value = to_current_timezone(value)
return [value.date(), value.time().replace(microsecond=0)]
return [None, None]
виджетов все отлично работает, но потому, что они являются местами рядом друг с другом в шаблоне формы, это выглядит действительно сгруппированы и не очень удобны для пользователя. Поэтому мне нужно установить ярлык разрыва
и, возможно, тег метки между ними. Я не могу найти что-либо в Интернете (возможно, я не формулирую его правильно)
Это код в шаблоне формы, и оба виджета находятся в одном теге, поэтому я изо всех сил пытаюсь придумать способ их разбить на разные линии, любые идеи?
<label> Start Time/Date:</label>
{{form.start}},
Спасибо! Это сработало отлично. Я также хотел бы добавить кнопку «Сегодня», которая помещает сегодняшнюю дату и время в выбранные входы, как бы я это сделал? Если вы не возражаете, я спрашиваю –
. Вы должны задать для этого отдельный вопрос. Вероятно, это будет сделано в JavaScript. Проверьте реализацию django admin. – GwynBleidD
FWIW Я думаю, что теперь это отличается от 1.11 и его визуализации виджета на основе шаблонов. К сожалению, этот материал кажется довольно непрозрачным - я не могу понять, как создать пользовательский шаблон. Это требует некоторых изменений для загрузчиков, которые я пока не могу найти. – umbrae