【问题标题】:How to make a redirect button in Flask template如何在 Flask 模板中制作重定向按钮
【发布时间】:2021-03-11 22:38:18
【问题描述】:

我正在尝试使用烧瓶制作网络应用程序,但在重定向到我的 app.py 文件中的另一个页面/路由时遇到问题。我还为另一个(登录)页面设置了 HTML 模板。

这是我在主 app.py 中的代码:

@app.route('/', methods=['GET', 'POST']) 

    if request.method == 'GET':
        pass

    if request.method == 'POST':
        pass

    return render_template('index.html', passable=passable)

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

    if request.method == 'POST':
        name = request.form.get('username')
        post = request.form.get('password')
        # still need to complete

    return render_template('login.html')

我已经导入了所有相关的模块(我认为)。

在我的 Index.html 文件中,我有一个按钮,我希望它重定向到我的 login.html 页面。目前我正在做这样的事情:

<button type="submit" onclick='{{Flask.redirect(url_for(login))}}' value="editor">

每当我(本地)启动页面时,我都会收到此错误。 jinja2.exceptions.UndefinedError jinja2.exceptions.UndefinedError: 'Flask' 未定义

如何让我的按钮重定向到“登录”烧瓶路线?

【问题讨论】:

标签: python flask


【解决方案1】:

如果您希望您的表单提交到不同的路线,您只需执行&lt;form action="{{ url_for('app.login') }}"&gt;

如果您只想添加指向页面的链接,请使用&lt;a&gt; 标签。

如果要处理请求然后重定向,只需使用flask提供的redirect函数即可。

【讨论】:

    【解决方案2】:
    <a href="{{url_for(app.login)}}" >Login</a>
    

    【讨论】:

    • 虽然此代码可能会回答问题,但提供有关此代码为何和/或如何回答问题的额外上下文可提高其长期价值。
    猜你喜欢
    • 2017-06-10
    • 1970-01-01
    • 2021-09-19
    • 1970-01-01
    • 1970-01-01
    • 2017-11-06
    • 2020-08-20
    • 2017-03-25
    • 2017-02-14
    相关资源
    最近更新 更多