@app.route('/login',methods=['GET','POST'])
def login():
if request.method == 'GET':
return render_template('login.html')
code = request.form.get('code','')
code_string = request.session.get('image_code')
print(code_string)
if code.upper() != code_string.upper():
miss = '验证码错误'
return render_template('login.html',miss=miss)
@app.route('/image/code/')
def image_code():
img,code_string = check_code()
# request.session[image_code]=code_string
# request.session.set_expiry(60)
print(code_string)
stream = BytesIO()
img.save(stream,'png')
response = make_response(stream.getvalue())
return response
有没有函数在login()中code_string可以直接取用image_code()中code_string的值,而不是再次调用image_code(),那样check_code()会再次执行,img和code_string会发生改变,image_code中return返回的是img图片显示在html中
你直接在 image_code 的code_string 参数前加上 global ,使它成为全局参数