Flask ==> 简单用户登录
from flask import Flask,render_template,request,redirect,session
import functools
app=Flask(__name__,template_folder='templates',static_url_path='/xxxxxx')
app.secret_key = "sdfasdfasdf3fsdf" #加密钥
def wapper(func):
@functools.wraps(func)
def inner(*args,**kwargs):
if not session.get('user_info') and request.path != "/login":
return redirect('/login')
return func(*args,**kwargs)
return inner
@app.route('/login',methods=['GET','POST'])
@wapper
def login():
if request.method == "GET":
return render_template('login.html')
else:
user = request.form.get('user')
pwd = request.form.get('pwd')
if user =='zxc' and pwd == '123':
session['user_info'] = user
# print(session['user_info'])
return redirect('/index')
else:
# return render_template('login.html',msg='用户名或者密码有误')
return render_template('login.html',**{'msg':'用户名或者密码有误'})
# return "index" #类似于HttpResponse
# return render_template('login.html')
@app.route('/index',methods=['GET'])
@wapper
def index():
return render_template('/index.html')
if __name__ == '__main__':
app.run()
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Title</title>
</head>
<body>
<h1>欢迎登录</h1>
<form action="" method="post">
<input type="text" name="user">
<input type="text" name="pwd">
<input type="submit">{{msg}}
<img src="/xxxxxx/111.jpg" alt="">
</form>
</body>
</html>
login.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Title</title>
</head>
<body>
<h1>
恭喜!已登录
</h1>
</body>
</html>
index.html