首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >flask_login @login_required继续在登录后将我重定向到登录页面

flask_login @login_required继续在登录后将我重定向到登录页面
EN

Stack Overflow用户
提问于 2020-04-09 17:10:39
回答 1查看 1.1K关注 0票数 2
代码语言:javascript
复制
@app.route('/login', methods=['GET', 'POST'])
def login():
    form = LoginForm()
    if form.validate_on_submit():
        """
        flash('Login requested for user {}, remember_me={}'.format(
            form.username.data, form.remember_me.data))
        """
        # Checks if user name and password-hash are the same in the db (Log in). Else it will show error message
        if user_name_exist(form.username.data) and get_password(form.username.data) == \
                md5(form.password.data.encode()).hexdigest():
            user = User.query.get(form.username.data)
            login_user(user, remember=form.remember_me.data)
            flash(current_user.is_authenticated)
            return redirect(url_for('index'))
        else:
            form.showerror.text = "Password or User Name Incorrect"
    return render_template('login.html', title='Login', form=form)

我通过使用current_user.is_authenticated函数确认用户已登录,该函数返回True。但是我仍然无法找到我在它们上有@login_required的页面。我做错了什么?

代码语言:javascript
复制
@app.route('/index')
@login_required
def index():
    form = ShowRoomsForm()
    return render_template('index.html', title='Home', form=form)

编辑:(登录管理器代码)

代码语言:javascript
复制
login = LoginManager(app)
login.login_view = 'login'

我能解决这个问题。问题是我的用户加载程序功能是通过用户名而不是id来获取用户。我将其改为by id,并解决了以下问题:

代码语言:javascript
复制
@login.user_loader
def user_loader(user_id):
    user = User.query.filter_by(id=user_id).first()
    if user:
        return user
    return None
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-10 17:00:33

我能解决这个问题。问题是我的用户加载程序功能是通过用户名而不是id来获取用户。我将其改为by id,并解决了以下问题:

代码语言:javascript
复制
@login.user_loader
def user_loader(user_id):
    user = User.query.filter_by(id=user_id).first()
    if user:
        return user
    return None
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61126532

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档