Python 检查登录状态
我正在使用登录系统创建一个网站,这就是我要处理的: 我有两条路线: 第一个是登录页面,下面是代码:Python 检查登录状态,python,flask,Python,Flask,我正在使用登录系统创建一个网站,这就是我要处理的: 我有两条路线: 第一个是登录页面,下面是代码: @app.route('/login') def login(): return render_template('login.html') @app.route('/login', methods=['POST']) def login_submit(): error = None if request.form['username'] == 'khoa.program
@app.route('/login')
def login():
return render_template('login.html')
@app.route('/login', methods=['POST'])
def login_submit():
error = None
if request.form['username'] == 'khoa.programmer' and request.form['password'] == 'HotnCold':
if request.form['actions'] == 'add-post':
return redirect('/admin/addpost')
else:
error = 'Wrong info'
return render_template('login.html', error=error)
第二个是addpost路由在用户登录后会被重定向
问题是我不知道如何或如何检查该用户成功登录。我想防止人们只是键入url并在未经许可的情况下访问页面,只是向他们显示消息或将他们重定向到登录页面。请帮忙
对不起我的英语 您可以使用flask登录
@site.route('/login', methods=['GET','POST'])
def login():
form = LoginForm()
if g.user is not None and g.user.is_authenticated:
flash('Wrong info')
return redirect(url_for('index.index'))
if form.validate_on_submit() and request.method == "POST":
name = form.name.data
passwd = form.passwd.data
或者您可以使用会话检查登录状态当您登录时,session['login\u in']=True,而当您注销时,session['login\u in']=False我觉得您希望在请求之间传递经过身份验证的用户,因此您可以使用session 请阅读 请注意,在使用会话之前,您需要为应用程序设置密钥
from flask import Flask
app = Flask(__name__)
app.secret_key = "yoursecret"
我的方法是使用@login\u required decorator装饰我的秘密视图,如中所指定,这里的示例是使用
g
对象。您可以使用session。这个视频也可以帮助你
您可以使用Flask登录(但您也需要一个登录管理器)。完整的文档也是如此
from flask_login import login_required
@app.route('/account')
@login_required
def account():
return render_template('account.html')
创建一个检查会话状态的函数
def protectedPage():
if 'userID' not in session:
return redirect('/log-in', code=302)
if session['userID'] == False:
return redirect('/log-in', code=302)
您可以声明一个
类用户
,该用户在登录之前设置为无
,然后要检查未登录,您可以执行,如果用户为无:
,例如,有库,但无法将参数传递给重定向函数(据我所知):(Flask登录库在您的整个应用程序中共享,并且位于现有Flask API之上,所以我不明白您在说什么
from flask_login import login_required
@app.route('/account')
@login_required
def account():
return render_template('account.html')
def protectedPage():
if 'userID' not in session:
return redirect('/log-in', code=302)
if session['userID'] == False:
return redirect('/log-in', code=302)