问题描述
我是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"
请注意,否则,除非固定了斜杠的数量,否则松弛无法正确地知道哪个斜杠是分隔符,哪个是参数的一部分