Jak uzyskać ciąg zapytania na kolbie?
Nie jest oczywiste z dokumentacji kolby, jak uzyskać ciąg zapytania. Jestem nowy, spojrzał na dokumenty, nie można znaleźć!
Więc
@app.route('/')
@app.route('/data')
def data():
query_string=??????
return render_template("data.html")
4 answers
from flask import request
@app.route('/data')
def data():
# here we want to get the value of user (i.e. ?user=some-value)
user = request.args.get('user')
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-08-03 02:09:23
Pełny Adres URL jest dostępny jako request.url
, A ciąg zapytania jako request.query_string
.
Oto przykład:
from flask import request
@app.route('/adhoc_test/')
def adhoc_test():
return request.query_string
Aby uzyskać dostęp do pojedynczej znanej param przekazanej w ciągu zapytania, możesz użyć request.args.get('param')
. To jest "właściwy" sposób, aby to zrobić, o ile wiem.
ETA: zanim przejdziesz dalej, powinieneś zadać sobie pytanie, dlaczego chcesz ciąg zapytania. Nigdy nie musiałem ciągnąć surowego Sznurka-kolba ma mechanizmy dostępu do niego w abstrakcyjny sposób. Powinieneś ich używać, chyba że mam przekonujący powód, żeby tego nie robić.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-01-17 19:02:18
Możemy to zrobić za pomocą request.query_string.
Przykład:
Rozważmy 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())
Możesz również uczynić go bardziej modułowym, używając schematów kolby - http://flask.pocoo.org/docs/0.10/blueprints/
Rozważmy, że imię jest przekazywane jako część łańcucha zapytania / 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
Jak widzisz jest to tylko mały przykład - możesz pobrać wiele wartości + sformatować je i użyć lub przekazać je do szablonu plik.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-05-29 05:26:53
Werkzeug / Flask as już parsed wszystko dla Ciebie. Nie ma potrzeby wykonywania tej samej pracy ponownie z 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")
Pełna dokumentacja dla obiektów request I response znajduje się w Werkzeug: http://werkzeug.pocoo.org/docs/wrappers/
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-08-03 09:08:44