Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 6, 2015 08:10:54

boligolov
От: СПб
Зарегистрирован: 2014-10-03
Сообщения: 51
Репутация: +  1  -
Профиль   Отправить e-mail  

[Flask] Форма, selectfield и дата

Сделал форму с SelectField со списком трех последних дней. И на следующий день, список обновился только после перезагрузки сервера flask.

forms.py

class DataForm(Form):
    diametr = IntegerField('diam', validators = [Required(), NumberRange(min=10, max=70)])
    date_choices = [(str(date.today()), date.today()),
                        (str(date.today()-timedelta(days=1)), date.today()-timedelta(days=1)),
                        (str(date.today()-timedelta(days=2)), date.today()-timedelta(days=2))]
    date= SelectField('date_add', choices =  date_choices)
В шаблоне так:
    <p>Дата:<br>{{form.date(size=1)}}<br></p>

Может сама форма не совсем правильно сделана, у меня идет преобразование даты в строку, мне кажется это не правильным решением.
[(str(date.today()), date.today())]
Но если не преобразовать, то при выборе в Select получаю “Not a valid choice”.
Все равно потом пихаю эту значение в базу и приходиться делать из строки дату:
databuben = datetime.strptime(form.date.data, "%Y-%m-%d").date()

Офлайн

#2 Ноя. 6, 2015 08:50:50

4kpt_III
Зарегистрирован: 2014-12-22
Сообщения: 999
Репутация: +  39  -
Профиль   Отправить e-mail  

[Flask] Форма, selectfield и дата

Как Вы думаете, в каком формате у Вас приходят даты с формы от пользователя? Ну и я все-таки не понял в чем вопрос, если честно.

Отредактировано 4kpt_III (Ноя. 6, 2015 08:51:32)

Офлайн

#3 Ноя. 6, 2015 10:26:12

boligolov
От: СПб
Зарегистрирован: 2014-10-03
Сообщения: 51
Репутация: +  1  -
Профиль   Отправить e-mail  

[Flask] Форма, selectfield и дата

4kpt_III
у Вас приходят даты с формы от пользователя?
Строка
str(date.today())
, если оставить в формате даты, то получаю “Not a valid choice”
4kpt_III
не понял в чем вопрос, если честно.
1. В SelectField остались значение предыдущего дня, хотя уже наступил следующий день, только после перезагрузки фласк сервера данные обновились.(Получается в форме создается три даты - сегодняшний, предыдущий и ещё за ним день, т.е. если сегодня 5 ноября, то в списке будут 5, 4, 3 ноября. Настал следующий день, а в селектфиелде все 5, 4, 3 ноября, после перезагрузки стало 6, 5, 4 ноября)

2. На мой взляд перевод даты в строку, чтобы заработал SelectField, а потом при добавлении в базу переделывание из строки в дату не совсем правильный подход?

Офлайн

#4 Ноя. 6, 2015 12:52:36

ayb
Зарегистрирован: 2014-04-01
Сообщения: 297
Репутация: +  24  -
Профиль   Отправить e-mail  

[Flask] Форма, selectfield и дата

boligolov
1. В SelectField остались значение предыдущего дня, хотя уже наступил следующий день, только после перезагрузки фласк сервера данные обновились.(Получается в форме создается три даты - сегодняшний, предыдущий и ещё за ним день, т.е. если сегодня 5 ноября, то в списке будут 5, 4, 3 ноября. Настал следующий день, а в селектфиелде все 5, 4, 3 ноября, после перезагрузки стало 6, 5, 4 ноября)

Ну так а что не так ? Предопределите инит у класса формы.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version