如果取到cookie里面自己赋的值,说明登录了,显示登录字样,否则就直接跳转到登录界面
后端的代码
from flask import Flask,render_template,request,redirect,url_for
from werkzeug.utils import secure_filename
import os
app = Flask(__name__)
@app.route('/')
def index():
islogin = request.cookies.get('islogin')
if islogin == '1':
return '登录了'
else:
return redirect(url_for('login'))
@app.route('/login',methods = ['GET','POST'])
def login():
if request.method == 'GET':
return render_template('08login.html')
else:
name = request.form.get('name')
pwd = request.form.get('pwd')
file = request.form.get('file')
if name == '1803572105' and pwd == '123456':
response = redirect(url_for('index'))
response.set_cookie('islogin','1')
upload(file)
return response
else:
return '错误'
UPLOAD_FOLDER = 'media'
ALLOW = ['txt','pdf','png','jpg','jpeg','gif']
def allow_file(filename):
return '.' in filename and filename.rsplit('.',1)[1] in ALLOW
def upload(file):
if file:
name = file.filename
if not allow_file(name):
return redirect(request.url)
name1 = secure_filename(name)
file.save(os.path.join(UPLOAD_FOLDER,name1))
if __name__ == '__main__':
app.run(debug=True)
前端的代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form action="/login" method="post" enctype="multipart/form-data">
<div>账号:<input type="text" name="name"></div>
<div>密码:<input type="password" name="pwd"></div>
<div>
头像:<input type="file" name="file">
{
</div>
<div><input type="submit" value="提交"></div>
</form>
</body>
</html>
前端的判断代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
{% if islogin == 1 %}
<h1>登录le</h1>
{% else %}
<h1>请登录</h1>
{% endif %}
</body>
</html>