会员可以在此提问,百战程序员老师有问必答
对大家有帮助的问答会被标记为“推荐”
看完课程过来浏览一下别人提的问题,会帮你学得更全面
截止目前,同学们一共提了 128778个问题
Python 全系列/第八阶段:Flask框架/Flask高级 91楼
Python 全系列/第八阶段:Flask框架/Git 92楼
Python 全系列/第八阶段:Flask框架/Git 93楼
Python 全系列/第八阶段:Flask框架/Flask高级 94楼
Python 全系列/第八阶段:Flask框架/Flask视图高级 95楼
Python 全系列/第八阶段:Flask框架/Flask之Jinja2模版 98楼

from flask import Flask,render_template,request,session


from random import randint


from formscheck2 import LoginForm


app = Flask(__name__)


app.secret_key = 'sdfsdfsdf'


@app.route('/')

def index():

    return 'hello'







from wtforms import Form,StringField

#  验证验证码长度]

from wtforms.validators import Length,ValidationError # 这个是返回异常


from flask import session


class LoginForm(Form):

    code = StringField(validators=[Length(4,4)])  # 但是这只是简单的验证并不能满足数据内容匹配


    def validate_code(self,field):

        #   前端的代码等于后端的属性

        font_code = field.data

        #   服务器session的验证]

        server_code = str(session.get('code'))



        print(f'前端的数据是{font_code},服务器的数据是{server_code}')

        print(f'前端的数据是{type(font_code)},服务器的数据是{type(server_code)}')

        if font_code != server_code:

            raise ValidationError('验证码错误!') #  括号里抛出错误的 信息








@app.route('/login/',methods=['GET','POST'])

def register():

    if request.method == 'GET':

        code = randint(1000,9999)

        #  用于接收生成的验证码方便后面进行验证

        session['code'] = code

        return render_template('login.html',code=code)  #form = RegisterForm(request.form)

       

    else:

        # form = LoginForm(request.form)

        form = LoginForm().validate_code(request.form)


        if form.validate:

            return '验证成功'

        else:

            return f'验证失败!!{form.errors}'  # 验证失败的原因

       


if __name__ == '__main__':

    app.run(debug=True)



老师就是这个自定义的类似乎没有被引用,我把另外一个包也拿过来了

Python 全系列/第八阶段:Flask框架/Flask高级 99楼
Python 全系列/第八阶段:Flask框架/Flask高级 100楼
Python 全系列/第八阶段:Flask框架/Flask视图高级 105楼

百战程序员微信公众号

百战程序员微信小程序

©2014-2024 百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园
网站维护:百战汇智(北京)科技有限公司
京公网安备 11011402011233号    京ICP备18060230号-3    营业执照    经营许可证:京B2-20212637