WTForms: встановіть 'email_validator' для підтримки перевірки електронної пошти


15

Отримання винятку при запуску наступного коду для перевірки форми.

File "/Users/homeduvvuri/Documents/Learning/PartyGoUdemy/PartGo/user/forms.py", line 11, in BaseUserForm
    email = EmailField('Email', [validators.DataRequired(), validators.Email()])
File "/Users/homeduvvuri/Documents/Learning/PartyGoUdemy/PartGo/partgo-env/lib/python3.7/site-packages/wtforms/validators.py", line 332, in __init__
    raise Exception("Install 'email_validator' for email validation support.")
Exception: Install 'email_validator' for email validation support.

Відмінно працює на кодексах VM. Не на локальній машині.

from flask_wtf import FlaskForm
from flask_wtf.file import FileField, FileAllowed
from wtforms import Form, StringField, PasswordField, validators, ValidationError
from wtforms.validators import InputRequired, Email
from wtforms.fields.html5 import EmailField
from wtforms.widgets import TextArea
from user.models import User

class BaseUserForm(FlaskForm):
    name = StringField('Name', [validators.DataRequired(), validators.Length(min=2, max=30)])
    email = EmailField('Email', [validators.DataRequired(), validators.Email()])

Трасування стека може використовувати деяке форматування.
Сід

Відповіді:


16

Якщо ви подивитеся на файл wtforms / validators.py у рядку 9:

import email_validator

Просто встановіть пакет:

pip install email_validator

2
Навіть виняток дає зрозуміти рішення:Exception: Install 'email_validator' for email validation support.
dspencer

Мій поганий ppl .. Мені було цікаво, чому він прямо просив це зробити в моєму локальному екземплярі, коли він не на моєму vm. намагався з’ясувати, як передбачити та уникнути подібних помилок між машинами та платформами з самого початку.
VeeDuvv

2
Я зіткнувся з тією ж проблемою саме сьогодні, коли додаток працює на моїх локальних, але ця помилка кидає на VM. Сьогодні WTForms випустила нову версію 2.3.1, яка зламала речі. Повернення до 2.2.1 виправило це для мене.
абск

3

У мене були ті ж проблеми з останніми оновленнями, спробував встановити email_validator та flask-validator і продовжував цю виняток. Вирішено, додавши в вимоги.txt наступний рядок: email-validator == 1.0.5, як було запропоновано [тут]. ( Https://github.com/alphagov/notifications-admin/commit/5ce2906c5aa6d16 )


вирішив мою проблему
Анджей O

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.