会员可以在此提问,百战程序员老师有问必答
对大家有帮助的问答会被标记为“推荐”
看完课程过来浏览一下别人提的问题,会帮你学得更全面
截止目前,同学们一共提了 132369个问题
Python 全系列/第六阶段:生产环境部署与协同开发/Linux系统概述与安装 2881楼
Python 全系列/第八阶段:轻量级Web开发利器-Flask框架/Flask之Jinja2模版 2882楼
WEB前端全系列/第一阶段:HTML5+CSS3模块/HTML5基础元素 2884楼


image.png

Python 全系列/第一阶段:Python入门/面向对象 2885楼
Python 全系列/第一阶段:Python入门/编程基本概念 2886楼

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 全系列/第八阶段:轻量级Web开发利器-Flask框架/Flask高级 2887楼
JAVA 全系列/第二十一阶段:Spring Cloud Alibaba技术栈/Spring Cloud Alibaba 2888楼
Python 全系列/第四阶段:函数式编程和核心特性/python新特性 2893楼
Python 全系列/第七阶段:网页编程基础/jQuery 2894楼

课程分类

百战程序员微信公众号

百战程序员微信小程序

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