
Johnnie
13.09.2016
19:42:58
нашел, сорян :)
и чо можно к хуям не рисовать все эти form action=submit и тд?
просто отдать форму, он сам ее нарисует?

Zart
13.09.2016
19:43:39
в некоторых либах для работы с формами таки да

Google

Igor
13.09.2016
19:43:44
да, по ID хороший вариант, большинство так и делает, зачем как-то иначе )

Dmitriy
13.09.2016
19:44:00
вооот
поэтому я и прицепился к id в таблице
окей, спасибо?

Johnnie
13.09.2016
19:44:40
и ошибки сама тоже отрисует форма?
ну ка пойду попробую

Igor
13.09.2016
19:44:47

Johnnie
13.09.2016
19:44:50
а то я сижу думаю куда впихнуть то что было из другого примера
{% if form.errors %}
<div>
{% for field, error in form.errors.items() %}
{% for e in error %}
{{ e }}<br>
{% endfor %}
{% endfor %}
</div>
{% endif %}
вот так там было
бля, табы)

Igor
13.09.2016
19:45:10
вот, да

Johnnie
13.09.2016
19:45:23
исправил

Google

Johnnie
13.09.2016
19:45:34
только эта хуйня некрасиво рисует
просто текст и все

Zart
13.09.2016
19:45:51
или ваяй цсс

Igor
13.09.2016
19:46:01
вперед внутрь цикла {% for e in error %}

Johnnie
13.09.2016
19:46:02
не
я ща попробую чтоб форма сама себя нарисовала
фи, у них примеры старые
name = TextField(u'Your name', validators=[Required()])
теперь уже говорят надо StringField

Zart
13.09.2016
19:47:07
ща эти люди откроют для себя формалхимию...

Igor
13.09.2016
19:47:18
wtforms-alchemy, если быть точным :(

Johnnie
13.09.2016
19:47:32
да я побаловаться просто
посмотрел на куте и решил, что лучше потыкаю все таки фласк :)

Igor
13.09.2016
19:47:50
хахаха

Johnnie
13.09.2016
19:48:18
сначала думал локальное приложение для себя запилить, теперь пробую так ?
куте реально какой-то совсем не юзер-френдли
встал с пинками
а чо он ошибки не пишет?

Igor
13.09.2016
19:55:47
покажи html

Google

Johnnie
13.09.2016
19:55:57
class LoginForm(Form):
username = StringField('Username', [DataRequired(message='Forgot your user name?'),
Length(min=3, max=20)])
password = PasswordField('Password', [DataRequired(message='Must provide a password. ;-)'),
Length(min=6, max=20)])
remember_me = BooleanField('Remember me', default=False)
submit = SubmitField(u'Sign in')

Igor
13.09.2016
19:56:01
нет
html
шаблон

Johnnie
13.09.2016
19:56:05
https://github.com/mbr/flask-bootstrap/blob/master/sample_app/templates/signup.html
хтмл вот этот
хмм
novalidate=True
оно?

Igor
13.09.2016
19:56:26
во-первых novalidate
во-вторых где ты там цикл увидел, который по ошибкам проходится))

Johnnie
13.09.2016
19:56:40
я думал он внутри :))

Igor
13.09.2016
19:56:55
хм, кстати
https://pythonhosted.org/Flask-Bootstrap/forms.html
не, судя по всему, надо все-таки form_errors отдельно

Johnnie
13.09.2016
19:57:52
убрал
не сработало
ага
причем по ошибке например когда поле Email()
а вводишь всякую чушь

Google

Johnnie
13.09.2016
19:58:15
он ругается
а на submit не ругается

Igor
13.09.2016
19:58:34
потому что это на стороне фронта происходит
(валидация емейла)
http://www.w3schools.com/html/tryit.asp?filename=tryhtml_input_email
вот например

Johnnie
13.09.2016
19:59:44
да, такое же было, только по-русски
все таки придется форму расписывать и пробегаться по ошибкам вручную да?

Admin
ERROR: S client not available

Igor
13.09.2016
20:01:24
йеп
flask-bootstrap не идеален, чего поделать

Johnnie
13.09.2016
20:01:33
{{ wtf.quick_form(form) }} - круто выглядит
а жаль

Igor
13.09.2016
20:01:46
ну ничего не мешает тебе сделать template tag, который запихнет туда ошибки

Johnnie
13.09.2016
20:02:13
эээ? я фласк ковыряю 1.5 дня :)
это как?

Igor
13.09.2016
20:05:03
сек, ща напишу пример
че-т типа того, лень проверять :(
в шаблоне: {{ johnnie_form(form) }}
в бекенде:
@app.template_global()
def johnnie_form(form):
output_html = ''
for field in form:
if form.field.errors:
output_html += 'вот у этого поля ошибки: ' + ', '.join(form.field.errors)
output_html += field() # field() возвращает html-код поля - т.е. <input ... />
return output_html

Johnnie
13.09.2016
20:12:27
https://paste.fedoraproject.org/427723/79754314/
вот так у меня ща заработало
ща твое посмотрю, спасибо

Google

Johnnie
13.09.2016
20:12:59
хм, ну то есть типа макроса объявить?

Igor
13.09.2016
20:13:01
ага

Johnnie
13.09.2016
20:13:12
а тут он сразу выводит ошибки
так короче получается)

⬗VLAD⌶K⬖
13.09.2016
20:13:34
посоны меня тут нешуточный страх разбирает, что я никогда не стану погромистом,?

Igor
13.09.2016
20:13:35
ну можно form.errors (тогда будут все ошибки в форме), можно form.field.errors (тогда будут все ошибки выбранного поля), это уж кому как

Johnnie
13.09.2016
20:13:57
так выдает по коду из ссылки

Cykooz
13.09.2016
20:14:32

Johnnie
13.09.2016
20:15:01
ага
а в бэкенде этот код в форму вставлять тоже? так, на будущее

Igor
13.09.2016
20:15:08
ненене

⬗VLAD⌶K⬖
13.09.2016
20:15:14

Igor
13.09.2016
20:15:29
ваще где-нибудь отдельно, но чтобы этот файл загружался и был доступ к фласковому объекту app

Johnnie
13.09.2016
20:15:34
где его жинжа искать то будетт
@app.template_global()
или вот эта штука все делает?

Igor
13.09.2016
20:16:12
угу
можешь в свой views.py это запихнуть

Cykooz
13.09.2016
20:16:29

Johnnie
13.09.2016
20:16:50
понял. может потом где-нибудь засуну это, спасибо :) а пока оставлю так, т.к. работает
Эта группа больше не существует