如何将用户路由到另一个 url Jinja
Posted
技术标签:
【中文标题】如何将用户路由到另一个 url Jinja【英文标题】:How to route user to another url Jinja 【发布时间】:2016-07-04 05:38:03 【问题描述】:我正在尝试使用烧瓶和 python 开发一个网站。我已经到了一个地步,我正在尝试为登录体验创建一个登录名,但无法完全理解。我会跳到一个例子:
elif request.method == 'POST':
<<do stuff>>
return render_template(
'something.html',
somedata
)
但网址没有改变。在某些情况下这很好,但我希望它从说 /login 更改为 /main 有两个原因。 a)审美(好吧,我可以用一点创造力来解决这个问题) b) 我认为没有办法处理 2 个不同的 POST “事件”(或者有吗?)。
我也很关心 POST 部分。如果我在同一页面上需要 2 个不同的按钮怎么办,是否可以解决这个问题?还是我错过了什么?
【问题讨论】:
我认为您需要重定向到另一条路线,然后处理。 this 有帮助吗? 你需要一个叫做redirect的东西,它在Flask中可以使用redirect
函数来实现。
哇,不敢相信我没有找到那个 :( 所以我必须用“响应”传递变量?
【参考方案1】:
您将要重定向到另一个网址。在不知道您使用什么库来登录用户的情况下,很难具体告诉您如何登录,但这是一般的想法。
from flask import Flask, redirect, request, render_template
app = Flask("app_name")
@app.route('/', methods=["GET", "POST"])
def login_route():
if request.method == "GET":
return render_template("login_page.html")
elif request.method == "POST":
# Login user
return redirect("main_page", code=303)
@app.route("/")
def main_page():
return "I'm the main page."
app.run(host="0.0.0.0", port=5001)
【讨论】:
以上是关于如何将用户路由到另一个 url Jinja的主要内容,如果未能解决你的问题,请参考以下文章