如何在Flask中使用Flask-WTF實(shí)現(xiàn)郵箱驗(yàn)證

本篇文章為大家展示了如何在Flask中使用Flask-WTF實(shí)現(xiàn)郵箱驗(yàn)證,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。

創(chuàng)新互聯(lián)公司專(zhuān)注于昂昂溪企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè)公司,商城網(wǎng)站制作。昂昂溪網(wǎng)站建設(shè)公司,為昂昂溪等地區(qū)提供建站服務(wù)。全流程按需制作,專(zhuān)業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)公司專(zhuān)業(yè)和態(tài)度為您提供的服務(wù)

1、使用Flask-WTF之前,需要安裝一個(gè)擴(kuò)展命令

pip install flask_wtf email_validator

2、模塊email_validator是為了代碼中郵箱驗(yàn)證而準(zhǔn)備

3、創(chuàng)建文件run.py

from flask import Flask, render_template, request
from flask_wtf import FlaskForm
from wtforms import SubmitField, StringField, PasswordField
from wtforms.validators import DataRequired, EqualTo, Length, Email
 
app = Flask(__name__)
app.secret_key = "xxx"
 
 
# 使用WTF實(shí)現(xiàn)表單,自定義一個(gè)表單類(lèi)
class RegisterForm(FlaskForm):
    username = StringField(label='用戶(hù)名: ', validators=[DataRequired()])
    email = StringField(label='郵箱: ', validators=[DataRequired(), Email(message='郵箱格式錯(cuò)誤')])
    password = PasswordField(label='密碼: ', validators=[DataRequired(), Length(6, 16, message='密碼格式錯(cuò)誤')])
    password2 = PasswordField(label='確認(rèn)密碼: ', validators=[DataRequired(), Length(6, 16, message='密碼格式錯(cuò)誤'),
                                                         EqualTo('password', message='密碼不一致')])
    submit = SubmitField(label='注冊(cè)')
 
 
@app.route('/', methods=['GEt', 'POST'])
def login():
    
    register_form = RegisterForm()
 
    if request.method == 'POST':
        if register_form.validate_on_submit():
            這里默認(rèn)會(huì)進(jìn)行csrf驗(yàn)證
            username = request.form.get('username')
            email = request.form.get('email')
            password = request.form.get('password')
            password2 = request.form.get('password2')
 
            if username == 'xgx' and password == password2 and email == 'test@gmail.com':
                # 進(jìn)入這里就表示表單驗(yàn)證成功
                return 'Register success, username: {}, email: {}, password: {}'.format(username, email, password)
            else:
                return 'Error'
        else:
            return 'Invalid'
 
    # 把實(shí)例化后的register_form傳入到頁(yè)面register.html中
    return render_template('register.html', form=register_form)
 
 
if __name__ == '__main__':
    app.run(debug=True)

4、在templates文件夾下新建register.html,文件內(nèi)容為

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Register</title>
</head>
<body>
 
    <form method="post">
        {{ form.csrf_token() }}
        {{ form.username.label }} {{ form.username }} <br>
        {{ form.email.label }} {{ form.email  }} <br>
        {{ form.password.label }} {{ form.password }} <br>
        {{ form.password2.label }} {{ form.password2 }} <br>
        {{ form.submit }}
    </form>
 
</body>
</html>

啟動(dòng)項(xiàng)目后,訪問(wèn)http://127.0.0.1:5000,按照表單驗(yàn)證方法的要求填寫(xiě),就可以完成注冊(cè)

上述內(nèi)容就是如何在Flask中使用Flask-WTF實(shí)現(xiàn)郵箱驗(yàn)證,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

當(dāng)前題目:如何在Flask中使用Flask-WTF實(shí)現(xiàn)郵箱驗(yàn)證
網(wǎng)站網(wǎng)址:http://muchs.cn/article34/jpeepe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、網(wǎng)站制作網(wǎng)站設(shè)計(jì)公司、網(wǎng)頁(yè)設(shè)計(jì)公司、網(wǎng)站維護(hù)網(wǎng)站導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營(yíng)