WTForms: E-posta doğrulama desteği için 'email_validator' yükleyin


15

Form doğrulaması için aşağıdaki kodu çalıştırırken istisna alınıyor.

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.

Codeanywhere VM'de mükemmel çalışır. Yerel makinede değil.

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()])

Yığın izleme bazı biçimlendirme kullanabilir.
Sid

Yanıtlar:


16

9. satırdaki wtforms / validators.py dosyasına bakarsanız:

import email_validator

Paketi kurmanız yeterlidir:

pip install email_validator

2
İstisna bile çözümü netleştirir:Exception: Install 'email_validator' for email validation support.
dspencer

Benim kötü ppl .. Açıkça neden vm üzerinde yoktu zaman yerel örneğimde bunu istedi merak ediyordum. başından beri bu tür çapraz makine / platform hatalarını nasıl öngörebileceğini ve önleyeceğini anlamaya çalışıyordu.
VeeDuvv

2
Uygulamanın yerelimde iyi çalıştığı ancak bu hatayı sanal makineye attığı aynı sorunla bugün karşılaştım. WTForms, bugün kırılan yeni bir sürüm 2.3.1 yayınladı. 2.2.1'e geri dönmek benim için düzeltti.
Abs


3

Yüklenmesini istiyorsanız wtforms:

pip install wtforms[email]
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.