python flask 如何从 url 获取路由 ID

python flask how to get route id from url

我正在使用烧瓶。我有一个 url 例如:http://example.com/page/page_id

我想知道如何从路由中的 url 获取 page_id 部分。我希望我能设计出一些方法,例如:

@route('/page/page_id')
   def page(page_id):
       pageid = page_id

您应该使用以下语法:

@app.route('/page/<int:page_id>')
def page(page_id):
    # Do something with page_id
    pass

非常简单 - 在尖括号之间传递路径参数,但一定要将该名称传递给您的方法。

@app.route('/page/<page_id>')
def page(page_id):
    pageid = page_id
    # You might want to return some sort of response...

您可以将 ID 指定为整数:

@app.route('/page/<int:page_id>')
def page(page_id):
    # Replace with your custom code or render_template method
    return f"<h1>{page_id}</h1>"

或者如果您使用的是 alpha_num ID:

@app.route('/page/<username>')
def page(username):
    # Replace with your custom code or render_template method
    return f"<h1>Welcome back {username}!</h1>"

也可以不在函数中指定任何参数,但仍然可以访问 URL 个参数:

# for given URL such as domain.com/page?id=123

@app.route('/page')
def page():
    page_id = request.args.get("id") # 123

    # Replace with your custom code or render_template method
    return f"<h1>{page_id}</h1>"

然而,当您有一个或多个参数的 FORM 时,通常会使用这种特定情况(例如:您有一个查询:

domain.com/page?cars_category=audi&year=2015&color=red

@app.route('/page')
def page():
    category = request.args.get("cars_category") # audi
    year = request.args.get("year") # 2015
    color = request.args.get("color") # red

    # Replace with your custom code or render_template method
    pass

祝你好运! :)