我正在使用烧瓶。我有一个网址,例如:http://example.com/page/page_id
我想知道如何从路径中的url获取page_id
部分。我希望我可以设计一些方法,例如:
@route('/page/page_id')
def page(page_id):
pageid = page_id
答案 0 :(得分:21)
非常简单 - 在尖括号之间传递path参数,但一定要将该名称传递给您的方法。
@app.route('/page/<page_id>')
def page(page_id):
pageid = page_id
# You might want to return some sort of response...
答案 1 :(得分:10)
您应该使用以下语法:
@app.route('/page/<int:page_id>')
def page(page_id):
# Do something with page_id
pass
答案 2 :(得分:1)
您可以将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
祝你好运! :)