我是Flask的新手,所以我正努力解决这个问题。
我试图使用以下URL提出一个简单的请求:
@app.route("/home/components/<component_name>")
def get_component(component_name):
#do something
return component_data
这将产生与我的项目中使用的组件相关的所有数据。
问题是,所有组件名称都使用斜杠(即:"Process/Newday"、"Exe/ADM1/polling"(,这使得无法通过url传递它们,所以我需要类似于以下的东西:
@app.route("/<components>/*args")
def get_component(args):
component_name = ""
for arg in args:
component_name += "/{}".format(arg)
#do something
return component_data
然而,尽管到处搜索,我还是找不到实现的可行方法
您是否考虑过使用查询参数?
from flask import request
@app.route("/home/components")
def get_component():
component_name = request.args.get('name')
然后访问该地址,如:
yourdomain.com/home/components?name="Exe/ADM1/polling"
注意,否则,除非斜线的数量是固定的,否则松弛没有正确的方法来知道哪个斜线是分隔符,哪个是参数的一部分