基于flask框架设计用户的登录(前后端)

基于flask框架设计用户的登录(前后端)

前端代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
	<form action="/05-login" method="post">
	    <p>用户名:<input type="text" name="uname" ></p>
	    <p>密码:&nbsp;&nbsp;&nbsp;&nbsp;<input type="text" name="upwd"></p>
	    <p>记住密码:<input type="checkbox" name="isSaved"></p>
	    <input type="submit" value="提交">
	</form>
</body>
</html>

后端代码

from flask import Flask, make_response, request, session, render_template, redirect

app = Flask(__name__)
# 配置 SELECT_KEY
app.config['SECRET_KEY']='aixieshaxiesha,yuefuzayuehao%$'

@app.route('/')
def index():
    return "欢迎来到首页"
    
@app.route('/login',methods=['GET','POST'])
def login():
    if request.method == 'GET':
        # 判断是否已经在登录状态上:判断session中是否有uname的值
        if 'uname' in session:
            # 已经登录了,直接去往首页
            return redirect('/')
        else:
            # 没有登录,继续向下判断cookie
            if 'uname' in request.cookies:
                # 曾经记住过密码,取出值保存进session
                uname = request.cookies.get('uname')
                session['uname'] = uname
                return redirect('/')
            else:
                # 之前没有登录过,去往登录页
                return render_template('login.html')
    else:
        #先处理登录,登录成功继续则保存进session,否则回到登录页
        uname = request.form.get('uname')
        upwd = request.form.get('upwd')
     	# 本文默认正确的账号密码为:admin
        if uname=='admin' and upwd=='admin':
            # 声明重定向到首页的对象
            resp = redirect('/')
            # 登录成功:先将数据保存进session
            session['uname'] = uname
            # 判断是否要记住密码
            if 'isSaved' in request.form:
                # 需要记住密码,将信息保存进cookie
                resp.set_cookie('uname',uname,60*60*24*365)
            return resp
        else:
            # 登录失败
            return redirect('/login')

if __name__ == '__main__':
    app.run(debug=True)

猜你喜欢

转载自blog.csdn.net/zhangshuaijun123/article/details/83755372
今日推荐