Форум сайта python.su
Приветствую. Помогите с такой “проблемой”:
Имеется Модель:
class Request(models.Model): .... actual_before = models.TimeField(blank=False, verbose_name='Актуально до')
class FormAdd(forms.Form): ... actual_before = forms.TimeField(input_formats=['%H:%M'], label='Актуально до', widget=forms.Select())
Офлайн
Селект для времени? Как то это бесчеловечно. А если сделать два селекта: для часов и минут? А еще лучше не селекты, а спинбоксы.
Офлайн
Дело в том, что юзеру необходимо предоставить только определенные часы/минуты для выбора; поэтому и используется единственный Селект с фиксированным набором.
По итогу реализовал так (кстати генератор нельзя проще сделать?)):
CHOICES = tuple( ( '0%s:00' % x if x < 10 else '%s:00' % x, '0%s:00' % x if x < 10 else '%s:00' % x, ) for x in range(00, 24) ) actual_before = forms.TimeField(input_formats=['%H:%M'], label='Актуально до', widget=forms.Select(choices=CHOICES))
TIME_INPUT_FORMATS = ( '%H:%M', )
Отредактировано bs0d (Авг. 20, 2015 09:56:09)
Офлайн
bs0dИ что вам мешает ограничить выбор пользователя в двух селектах или двух спинбоксах?
Дело в том, что юзеру необходимо предоставить только определенные часы/минуты для выбора;
Офлайн
Хороший вопрос. Селекты/спинбоксы будут нативными джанговскими, или придется все вручную пилить?
Я пока с фреймворком на “Вы”, 99% функционала просто не знаю.
Ну и вопрос юзабельности тоже стоит.
Офлайн
bs0dНу вы же можете добавить в форму два поля? И переопределите save для того, чтобы по значениям этих двух полей собиралось ваше время.
Хороший вопрос. Селекты/спинбоксы будут нативными джанговскими, или придется все вручную пилить?
Офлайн