从Flask路径中的URL获取变量

Ben*_* J. 7 python url flask

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

http://localhost/landingpageA
http://localhost/landingpageB
http://localhost/landingpageC
Run Code Online (Sandbox Code Playgroud)

dav*_*ism 25

这在文档的快速入门中得到了解答.

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

@app.route('/landingpage<id>')  # /landingpageA
def landing_page(id):
    ...
Run Code Online (Sandbox Code Playgroud)

更典型的是,URL的各个部分用/.

@app.route('/landingpage/<id>')  # /landingpage/A
def landing_page(id):
    ...
Run Code Online (Sandbox Code Playgroud)

使用url_for生成的URL的网页.

url_for('landing_page', id='A')
# /landingpage/A
Run Code Online (Sandbox Code Playgroud)

您还可以将值作为查询字符串的一部分传递,并从请求中获取它,但如果总是需要它,最好使用上面的变量.

from flask import request

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

# /landingpage?id=A
Run Code Online (Sandbox Code Playgroud)


per*_*eka 8

像这样的例子

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