【问题标题】:how to retrieve value from url in flask如何从烧瓶中的url检索值
【发布时间】:2019-02-16 15:57:48
【问题描述】:

我使用烧瓶、jinja 模板和引导程序开发了一个网络应用程序。我想在登录后从 URL 中检索用户的名称并将其显示在仪表板中。登录后显示名称。但是,当我单击仪表板时,它显示“无”,因为该名称已从 URL 中删除。如果有任何解决方案告诉我。这将非常有帮助。提前致谢。代码如下。

app.py

@app.route('/login', methods=['GET', 'POST'])
def login():
    form = LoginForm()
    name=form.name.data

    if form.validate_on_submit():
        user = User.query.filter_by(username=form.username.data).first()
        if user:
            if user.password == form.password.data:
                login_user(user, remember=form.remember.data)
                session['logged_in'] = True
                return redirect(url_for('dashboard', name=name))

        return '<h1>Invalid username or password</h1>'
        #return '<h1>' + form.username.data + ' ' + form.password.data + '</h1>'

    return render_template('login.html', form=form)

@app.route('/dashboard', methods=['GET', 'POST'])
@login_required
def dashboard():
    name=request.args.get('name')
    return render_template('dashboard.html',name=name)

dashboard.html

<section id="home" style="background: url('../static/images/rate25.jpg');background-attachment: fixed;background-size: cover;background-repeat: no-repeat;background-position: center;">
        <div class="container-fluid con" align="center">
            <div class="row" align="center">
                <div class="col-sm-2"></div>
                <div class="col-sm-8">
                <h1 class="h1" style="font-weight: 500;text-transform: unset;">Hi {{name}}, Welcome to Ratingspro</h1></div>
               <div class="col-sm-2"></div>

            </div>
        </div>
</section>

登录后我得到这个

点击导航栏中的仪表板后,我得到了这个

【问题讨论】:

    标签: python flask get jinja2 flask-sqlalchemy


    【解决方案1】:

    如果你修改如下代码,你会在控制台中得到什么:

    @app.route('/dashboard', methods=['GET', 'POST'])
    @login_required
    def dashboard():
        name=request.args.get('name')
        print('name: {}'.format(name)) 
        return render_template('dashboard.html',name=name)
    

    如果你什么也没得到,这意味着名称不是通过“args”传递的。它可以通过其他方法传递,如request.data、request.json、request.form

    【讨论】:

      猜你喜欢
      • 2020-07-17
      • 1970-01-01
      • 1970-01-01
      • 2020-10-27
      • 2013-07-14
      • 1970-01-01
      • 2021-11-04
      • 2021-06-15
      • 1970-01-01
      相关资源
      最近更新 更多