Size: a a a

Сообщество Python Программистов

2020 December 11

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
open_engine('sqlite:///../data.db')
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
Обычно так делается
источник

E

EALE in Сообщество Python Программистов
Бензофуран Гетероцикл
Обычно так делается
Спасибо
источник

K

KarmaBot in Сообщество Python Программистов
EALE
Спасибо
Вы увеличили карму Бензофуран Гетероцикл до 2728.24 (+5.26)
источник

NP

NIKITA POLETIN in Сообщество Python Программистов
Фласк. Стоит задача валидировать поля стандартными валидаторами типа Lenght, Email, и тд. и добавить туда свой валидатор. Я никак не могу понять, в какой класс надо запихивать свой валидатор, не отключая при этом стандартных, чтобы работали все валидаторы, мои и стандартные одним методом. Документацию прочел, нихуя не понял. Может кто-нибудь обьяснить или подсказать ,где искать информацию?
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
NIKITA POLETIN
Фласк. Стоит задача валидировать поля стандартными валидаторами типа Lenght, Email, и тд. и добавить туда свой валидатор. Я никак не могу понять, в какой класс надо запихивать свой валидатор, не отключая при этом стандартных, чтобы работали все валидаторы, мои и стандартные одним методом. Документацию прочел, нихуя не понял. Может кто-нибудь обьяснить или подсказать ,где искать информацию?
flask-wtforms?
источник

NP

NIKITA POLETIN in Сообщество Python Программистов
Да
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
Внутри класса формы методы имя которых начинается на validate считаются валидаторами
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
Документация выдаёт такой пример:

class MyForm(Form):
   name = StringField('Name', [InputRequired()])
   def validate_name(form, field):
       if len(field.data) > 50:
           raise ValidationError('Name must be less than 50 characters')
источник

NP

NIKITA POLETIN in Сообщество Python Программистов
т.е. мне нужно написать название метода validateДАЛЬШЕ_НЕВАжно?
источник

NP

NIKITA POLETIN in Сообщество Python Программистов
Бензофуран Гетероцикл
Документация выдаёт такой пример:

class MyForm(Form):
   name = StringField('Name', [InputRequired()])
   def validate_name(form, field):
       if len(field.data) > 50:
           raise ValidationError('Name must be less than 50 characters')
Да, я его видел, но не понял, сейчас попробую
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
NIKITA POLETIN
т.е. мне нужно написать название метода validateДАЛЬШЕ_НЕВАжно?
Да. Если точнее то
def validate_***(form, field):
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
NIKITA POLETIN
т.е. мне нужно написать название метода validateДАЛЬШЕ_НЕВАжно?
Если не проходит то рейзишь ValidationError.
Внутри можешь написать что не так, емнип эту информацию он показывает на странице
источник

NP

NIKITA POLETIN in Сообщество Python Программистов
Сейчас пробую, спасибо
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
NIKITA POLETIN
Да, я его видел, но не понял, сейчас попробую
Есть и другой вариант, тоже из доки
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
Объявляешь функцию-проверялку, и просто добавляешь её в список валидаторов поля)
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
Из той же доки пример:

def my_length_check(form, field): 
   if len(field.data) > 50:
       raise ValidationError('Field must be less than 50 characters')

class MyForm(Form):
   name = StringField('Name', [InputRequired(), my_length_check])
источник

NP

NIKITA POLETIN in Сообщество Python Программистов
Понял, это намного проще для меня. Вопрос, по первому способу. Там не написано, как к нему потом обрашаться? к стандартным обращаются как validators.NAME(arg1 = 1, arg2 = 2) А как обращаться к тем, которые написал сам?
источник

NP

NIKITA POLETIN in Сообщество Python Программистов
источник

NP

NIKITA POLETIN in Сообщество Python Программистов
для контекста. то, что я сейчас делаю, и сильное ощущение того ,что я не так делаю
источник