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.

ทำงานอย่างสมบูรณ์แบบบน codeanywhere 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()])

การติดตามสแต็กอาจใช้การจัดรูปแบบบางอย่าง
Sid

คำตอบ:


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 แก้ไขให้ฉัน
absk

3

ฉันมีปัญหาเดียวกันกับการอัปเดตล่าสุดพยายามติดตั้ง email_validator และ flask-validator และดำเนินการต่อด้วยข้อยกเว้นนี้ แก้ไขได้โดยการเพิ่ม requirements.txt บรรทัดต่อไปนี้: email-validator == 1.0.5 ตามที่แนะนำ [ที่นี่] ( https://github.com/alphagov/notifications-admin/commit/5ce2906c5aa6d16 )


แก้ไขปัญหาของฉัน
Andrzej O

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.