Форум сайта python.su
Всем спасибо за уделённое время.
Офлайн
plusplus
Во flask-е request является глобальным объектом. В любом вью можно импортнуть request и получить данные. Добро пожаловать во Flask
Офлайн
plusplus
Ну request.form в форму надо обязательно передавать, как вам уже выше написали. Если и с ним не работает, тогда не знаю, видимо форму заполняли с ошибками по запарке.
Офлайн
ab
зачем переписывать метод валидации формы без вызова super()?
вот валидатор
def validate_email(self, field): user = User.query.filter_by(email=field.data.lower()).first() if not user: raise ValidationError("error text")
Офлайн
Помоему в form.errors ошибки выводятся после вызова form.validate().
А то-что инициализировать форму объектом реквеста это сто процентов, иначе придется вручную это делать:
form.username.data = request.form['username']
form.password.data = request.form['password']
Офлайн
lobster
умно. А если 150 инпутов, все прописывать будете?
Во Flask-WTF это делается с
form = SubclassOfFlaskForm() form.validate_on_submit()
form = SomeForm(formdata=request.form) request.method == "POST" and form.validate()
Отредактировано sander (Фев. 25, 2017 21:05:01)
Офлайн
sanderЗачем все прописывать, если полагатся на себя то можно врапер слабать
lobsterумно. А если 150 инпутов, все прописывать будете? Во Flask-WTF это делается с
sanderА отсюда http://flask.pocoo.org/docs/0.12/patterns/wtforms/ любая обезьяна может копипастить
form = SomeForm(formdata=request.form)
request.method == “POST” and form.validate()
Офлайн
lobsterВот тут Вы не правы. Какой враппер??? Уже есть готовые решения. Не надо велосипедить. Вот если бы Вам не хватало функциональности, тогда да, пишем обертки. Ну а когда тривиальная задача и уже есть результат, тогда желание написать обертку нужно подавлять в себе в зародыше
Зачем все прописывать, если полагатся на себя то можно врапер слабать
Офлайн
А вы не правы - утверждая что велосипеды это плохо. Сторонники “готовых решений” всегда похожи на тех старух из сказок со своими раздолбанными корытами, которые всегда сидят и ждут у моря погоды, а солнца так и не видно :)
Офлайн
lobster
Я не против велосипедов. Но когда уровень позволяет. У Вас пока нет. Альтернатива той же jinja2 есть. backslant от Миши Кривушина. Это велосипед и очень даже ничего. А Вы детский сад пытаетесь тут выдать за разработку чего-то нового и нужного. Кроме того Вы решаете стандартную задачу стандартным методом. Вот wtforms-alchemy нужный велосипед. Очень. А враппер, который будет пихать в форму все из поста вручную (что и так делается только более элегантно) похож даже не на велосипед, а на скейт неумелого подростка. Я не хочу Вас обидеть. Нужно искать, пробовать и предлагать альтернативы. Но уже после того, как знаете как оно сейчас и понимаете где можно улучшить…
Отредактировано 4kpt_V (Фев. 26, 2017 09:51:13)
Офлайн