直接进入页面url,进入指定页面前必须成功登录:
一开始需要先写"SECRET_KEY":
app.config["SECRET_KEY"] = 'TP52fjHWRbyVq8zu9v82dWYW1'
编写@app.before_request
#每次路过前 @app.before_request def before_request(): if request.path == "/login": return None if not session.get("username"): return redirect("/login")
在login视图中写一句话:session["username"] = username
@app.route('/login',methods = ["GET","POST"]) def login(): users = User.query.all() #判断是否正确post请求 if request.method == 'POST': username = request.form.get('username') password = request.form.get('password') if username: if password: if not any(i.username == username for i in users): return render_template('login.html',msg=不存在用户名!') else: for j in users: if j.username == username: if j.mm == password: #成功的话给一个session session["username"] = username return redirect('/home') else: return render_template('login.html',msg=密码错误!') else: return render_template('login.html', msg=请输入密码!') else: return render_template('login.html', msg=请输入用户名!') else: return render_template('login.html', msg=请输入用户名! return render_template('login.html')
这样,没有登录就不能进入相应的网页