Python 更改用户';在Flask上注销时为布尔值
每次新用户连接到服务器时,我都会得到一个用户列表,这些用户会刷新以在我的页面中显示。为此,我使用布尔值,每次用户将布尔值更改连接到True时,我的列表只查找布尔值为True的用户。我现在尝试在他们注销时将布尔值改回False。我该怎么做Python 更改用户';在Flask上注销时为布尔值,python,flask,Python,Flask,每次新用户连接到服务器时,我都会得到一个用户列表,这些用户会刷新以在我的页面中显示。为此,我使用布尔值,每次用户将布尔值更改连接到True时,我的列表只查找布尔值为True的用户。我现在尝试在他们注销时将布尔值改回False。我该怎么做 @app.route("/sign-in", methods=["GET", "POST"]) def signin(): form = forms.SignInForm()
@app.route("/sign-in", methods=["GET", "POST"])
def signin():
form = forms.SignInForm()
if flask.request.method == "POST":
if form.validate_on_submit():
username = form.username.data
password = form.password.data
# Retrieve the user that matches this username
user = models.User.query.filter_by(name=username).first()
print(user.boolean)
# Check the provided password against the user's one
if user is not None and user.password == password:
flask_login.login_user(user)
flask.flash(f"{user.name} logged in successfully !", "success")
idn = user.id
user.boolean = True
db.session.commit()
print(user.boolean)
return flask.render_template('user_page.html', user=user)
else:
flask.flash("Something went wrong.", "danger") # Put the message into the flashed messages
# To retrieve those messages: flask.get_flashed_messages()
return flask.render_template("signin.html", form=form)
@app.route("/sign-out", methods=["GET"])
def signout():
flask_login.logout_user()
return flask.redirect('/sign-in')
将其放入签出路线:
@app.route("/sign-out", methods=["GET"])
def signout():
user = models.User.query.filter_by(id=current_user.id).first()
user.boolean = False
db.session.commit()
flask_login.logout_user()
return flask.redirect('/sign-in')
如果
注销用户()
正在工作,它就不知道当前用户在这个上下文中是什么。尝试登录。当前用户可以登录。如果我的回答对你有帮助,如果你接受,我将不胜感激;)