从Flask路线

时间:2016-02-03 21:56:20

标签: python url flask

我有许多以landingpage开头并以唯一ID结尾的网址。我需要能够从URL获取id,以便我可以将一些数据从另一个系统传递到我的Flask应用程序。我怎样才能得到这个值?

http://localhost/landingpageA
http://localhost/landingpageB
http://localhost/landingpageC

2 个答案:

答案 0 :(得分:19)

这在文档的quickstart中得到了解答。

您需要一个变量网址,您可以通过在网址中添加<name>占位符并在视图函数中接受相应的name参数来创建该网址。

@app.route('/landingpage<id>')  # /landingpageA
def landing_page(id):
    ...

更典型地,网址的各个部分用/分隔。

@app.route('/landingpage/<id>')  # /landingpage/A
def landing_page(id):
    ...

使用url_for生成网页的网址。

url_for('landing_page', id='A')
# /landingpage/A

您也可以将该值作为查询字符串的一部分传递,并get it from the request,但如果始终要求它,则最好使用上述变量。

from flask import request

@app.route('/landingpage')
def landing_page():
    id = request.args['id']
    ...

# /landingpage?id=A

答案 1 :(得分:1)

像这样的例子

@app.route('/profile/<username>')
def lihat_profile(username):
    return "welcome to profile page %s" % username