
本篇文章重点为大家讲解一下flask框架修改密码和免密登录具体方法,有需要的小伙伴可以参考一下。
修改密码功能
数据库部分:
#重置密码
def reset_pass(phone,password):
conn,cursor=get_conn()
sql="update userdata set userpass='"+password+"' where userphone='"+phone+"'"
try:
print("正在修改密码...")
resetflag=cursor.execute(sql)
conn.commit()
close_conn(conn,cursor)
if(resetflag==1):
print("修改成功")
return 1
else:
print("修改失败!")
return 0
except:
print("系统错误...修改密码失败!")
return 0
路由部分:
#用户修改密码
@app.route('/resetpass',methods=['GET', 'POST'])
def resetpass():
userphone=request.values.get('userphone')
resetpass=request.values.get('resetpass')
print("路由获得手机号:"+userphone+"\n")
print("路由获得新密码:" + resetpass + "\n")
flag=sql.reset_pass(userphone,resetpass)
if(flag==1):
return jsonify({"data":1})
else:
return jsonify({"data":0})
html页面:
nbsp;html>
"UTF-8">
"viewport" content="width=device-width, initial-scale=1.0">
"X-UA-Compatible" content="ie=edge">
树懒电影---重置您的密码
"post" id=
"resetform">
type=
"text" id=
"userphone" value=
"" placeholder=
"输入您的手机号码">
type=
"password" id=
"resetpass1" value=
"" placeholder=
"输入您的新密码">
type=
"password" id=
"resetpass2" value=
"" placeholder=
"再次输入您的新密码">
type=
"reset" value=
"清空">
type=
"button" id=
"resetbtn" onclick=
"resetpass()" value=
"提交">
免密登录
html代码:
nbsp;html>
"UTF-8">
"viewport" content="width=device-width, initial-scale=1.0">
"X-UA-Compatible" content="ie=edge">
"stylesheet" href="../static/css/login.css" rel="external nofollow" >
树懒电影登录
"container">
"container-child">
"img-div">
"../static/img/shulan.png">
"login-div">
登录您的树懒电影
"login-form" method=
"post">
type=
"text" name=
"userphone" id=
"userphone" placeholder=
"请输入您的账号">
type=
"password" name=
"password" id=
"password" placeholder=
"请输入您的密码">
type=
"checkbox" value=“1” class=“remeber” onclick=
"onClickHander(this)">
记住密码
type="button" onclick="login_()">登 录
"http://127.0.0.1:5000/regis" rel=
"external nofollow" >注册 | "http://127.0.0.1:5000/reset" rel=
"external nofollow" >忘记密码
Python路由
#免密登录
@app.route('/web_login/',methods=['GET', 'POST'])
def web_login():
userphone = request.values.get('userphone')
password=request.values.get('password')
cb=request.values.get('cb')
print("是否记住密码: "+cb) #cb的返回值类型是 str 字符串
# print(type(cb))
print("登录账号:"+userphone+" "+"密码:"+password)
res=sql.web_login(userphone,password)
if(res==True):
session['userphone'] = userphone
if(cb=="1"):
print("开始存储cookie登录账号:" + userphone + " " + "密码:" + password)
resp = make_response('储存cookie')
resp.set_cookie('cookphone', userphone, max_age=3600 * 24 * 15)
resp.set_cookie('cookpass', password, max_age=3600 * 24 * 15)
print("登录成功且用户选择记住密码,返回response")
return resp #登录成功且用户选择记住密码,返回response
else:
print("登录成功 返回 1 状态码")
return jsonify({"data": 1}) # 登录成功 返回 1 状态码
else:
print("登录失败 返回 0 状态码")
return jsonify({"data":0}) #登录失败 返回 0 状态码
数据库验证登录
# 用户(web)登录验证
def web_login(userphone, password):
cursor = None
conn = None
res=[]
if(userphone==None or password==None):
return False
conn, cursor = get_conn()
sql = "select userphone,userpass from userdata where '"+userphone+"'=userphone and '"+password+"'=userpass "
res=query(sql)
conn.commit()
if(len(res)==0):
print("登陆失败(WEB)")
close_conn(conn, cursor)
return False
else:
close_conn(conn, cursor)
print("登陆成功(WEB)")
return True
以上就是flask框架实现修改密码和免密登录功能的详细内容
文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/220741.html<