如何在Flask上获取查询string?

关于如何获取查询string的瓶子文档不明显。 我是新的,看着文档,找不到!

所以

@app.route('/') @app.route('/data') def data(): query_string=?????? return render_template("data.html") 
 from flask import request @app.route('/data') def data(): # here we want to get the value of user (ie ?user=some-value) user = request.args.get('user') 

完整的URL可以使用request.url ,查询string可以作为request.query_string

这是一个例子:

 from flask import request @app.route('/adhoc_test/') def adhoc_test(): return request.query_string 

要访问在查询string中传递的个别已知参数,可以使用request.args.get('param') 。 就我所知,这是做“正确”的方法。

ETA:在你走之前,你应该问自己为什么要查询string。 我从来没有拉过原始的string – Flask有抽象的方式访问它的机制。 你应该使用这些,除非你有一个令人信服的理由不。

Werkzeug / Flask已经为你parsing了一切。 无需再次使用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.query_string来做到这一点。

例:

让我们考虑一下view.py

 from my_script import get_url_params @app.route('/web_url/', methods=('get', 'post')) def get_url_params_index(): return Response(get_url_params()) 

你也可以通过使用Flask Blueprints使其更加模块化 – http://flask.pocoo.org/docs/0.10/blueprints/

让我们考虑作为查询string/ web_url /?first_name = john的一部分传递名字

 ## here is my_script.py ## import required flask packages from flask import request def get_url_params(): ## you might further need to format the URL params through escape. firstName = request.args.get('first_name') return firstName 

正如你所看到的,这只是一个小例子 – 你可以获取多个值并将它们合成并使用它或者将它传递给模板文件。