如何访问查询参数或Flask路由中的查询字符串?这在Flask文档中并不明显。
下面的示例路由/数据说明了我想要访问该数据的上下文。如果有人请求example.com/data?abc=123这样的东西,我想访问字符串?abc=123,或者能够检索像abc这样的参数值。
@app.route("/data")
def data():
# query_string = ???
return render_template("data.html")
如何访问查询参数或Flask路由中的查询字符串?这在Flask文档中并不明显。
下面的示例路由/数据说明了我想要访问该数据的上下文。如果有人请求example.com/data?abc=123这样的东西,我想访问字符串?abc=123,或者能够检索像abc这样的参数值。
@app.route("/data")
def data():
# query_string = ???
return render_template("data.html")
当前回答
Werkzeug/Flask已经为您解析了所有内容。不需要再用urlparse做同样的工作:
from flask import request
@app.route('/')
@app.route('/data')
def data():
query_string = request.query_string ## There is it
return render_template("data.html")
请求和响应对象的完整文档在Werkzeug中:http://werkzeug.pocoo.org/docs/wrappers/
其他回答
如果请求是GET,我们传递一些查询参数,
fro`enter code here`m flask import request
@app.route('/')
@app.route('/data')
def data():
if request.method == 'GET':
# Get the parameters by key
arg1 = request.args.get('arg1')
arg2 = request.args.get('arg2')
# Generate the query string
query_string="?arg1={0}&arg2={1}".format(arg1, arg2)
return render_template("data.html", query_string=query_string)
我更喜欢
user = request.args['user'] if 'user' in request.args else 'guest'
over
user = request.args.get('user')
通过这种方式,您可以首先检查url实际上包含查询字符串
Werkzeug/Flask已经为您解析了所有内容。不需要再用urlparse做同样的工作:
from flask import request
@app.route('/')
@app.route('/data')
def data():
query_string = request.query_string ## There is it
return render_template("data.html")
请求和响应对象的完整文档在Werkzeug中:http://werkzeug.pocoo.org/docs/wrappers/
这可以使用request.args.get()来完成。 例如,如果查询字符串具有字段日期,则可以使用
date = request.args.get('date')
别忘了在从烧瓶进口的清单上加上“请求”, 即。
from flask import request
下面的实现对我来说很有效。
from flask import request
def getVerificationStatus():
try:
requestId=int(request.args.get('requestId'))
print(requestId)
status= verificationStepRepository.getVerificationStatus(requestId)
return tb.responsify(200, "success", status)
except Exception as e:
return errorHandler.dispatchInternalServerError(str(e))