一尘不染

从flask路线中的URL获取变量

flask

我有许多landingpage以唯一ID 开头和结尾的URL 。我需要能够从URL获取ID,以便可以将一些数据从另一个系统传递到我的Flask应用程序。我如何获得该价值?

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

阅读 627

收藏
2020-04-05

共1个答案

一尘不染

你需要一个可变的URL,该URL是通过<name>在URL中添加占位符并name在view函数中接受相应的参数来创建的。

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

通常,URL的各个部分用分隔/

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

使用url_for生成的URL的网页。

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

你也可以将值作为查询字符串的一部分传递,并从请求中获取,尽管如果始终需要,最好使用上面的变量。

from flask import request

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

# /landingpage?id=A
2020-04-05