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.

कोडीनम वीएम पर पूरी तरह से चलता है। स्थानीय मशीन पर नहीं है।

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

यदि आप लाइन 9 में wtforms / validators.py फ़ाइल देखें:

import email_validator

बस पैकेज स्थापित करें:

pip install email_validator

2
यहां तक ​​कि अपवाद समाधान को स्पष्ट करता है:Exception: Install 'email_validator' for email validation support.
dspencer

मेरा बुरा ppl .. मैं उत्सुक था कि यह स्पष्ट रूप से मेरे स्थानीय उदाहरण पर ऐसा करने के लिए क्यों कहा गया जब यह मेरे vm पर नहीं था। शुरू से ऐसी क्रॉस मशीन / प्लेटफ़ॉर्म त्रुटियों का पूर्वानुमान लगाने और उनसे बचने का तरीका जानने की कोशिश कर रहा था।
विदुव

2
मुझे आज भी यही मुद्दा मिला है, जहां ऐप मेरे स्थानीय पर ठीक चलता है लेकिन इस त्रुटि को वीएम पर फेंक देता है। WTForms ने आज ही एक नया संस्करण 2.3.1 जारी किया जिसने चीजों को तोड़ दिया। 2.2.1 पर वापस जाना मेरे लिए तय है।
absk

3

नवीनतम अद्यतनों के साथ भी मुझे यही समस्या थी, email_validator और फ्लास्क-सत्यापनकर्ता को स्थापित करने की कोशिश की और इस अपवाद के साथ जारी रखा। Requirements.txt में निम्नलिखित पंक्ति जोड़कर हल:। के रूप में [यहां] सुझाव ईमेल सत्यापनकर्ता == 1.0.5 ( https://github.com/alphagov/notifications-admin/commit/5ce2906c5aa6d16 )


मेरी समस्या हल कर दी
आंद्रेजेज ओ

3

यदि आप इसे स्थापित करना चाहते हैं wtforms:

pip install wtforms[email]
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.