Flask에서 쿼리 문자열을 어떻게 얻습니까?
쿼리 문자열을 얻는 방법에 대한 플라스크 문서에서 명확하지 않습니다. 나는 새로운, 문서를보고 찾을 수 없습니다!
그래서
@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 (i.e. ?user=some-value)
user = request.args.get('user')
전체 URL은으로 사용 가능 request.url
하고 쿼리 문자열은으로 사용 가능합니다 request.query_string
.
예를 들면 다음과 같습니다.
from flask import request
@app.route('/adhoc_test/')
def adhoc_test():
return request.query_string
쿼리 문자열에 전달 된 개별 알려진 매개 변수에 액세스하려면을 사용할 수 있습니다 request.args.get('param')
. 이것은 내가 아는 한 "올바른"방법입니다.
ETA : 더 나아 가기 전에 왜 쿼리 문자열을 원하는지 스스로에게 물어봐야합니다. 나는 원시 문자열을 끌어 들일 필요가 없었습니다.-Flask에는 추상적 인 방식으로 액세스 할 수있는 메커니즘이 있습니다. 설득력없는 이유가없는 한 사용하십시오.
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/를 사용하여 더 모듈화 할 수 있습니다.
쿼리 문자열 / 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
보시다시피 이것은 작은 예일뿐입니다. 여러 값을 가져 와서 형식을 지정하여 사용하거나 템플릿 파일로 전달할 수 있습니다.
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/
쿼리 문자열에 대해 다음과 같이 시도하십시오.
from flask import Flask, request
app = Flask(__name__)
@app.route('/parameters', methods=['GET'])
def query_strings():
args1 = request.args['args1']
args2 = request.args['args2']
args3 = request.args['args3']
return '''<h1>The Query String are...{}:{}:{}</h1>''' .format(args1,args2,args3)
if __name__ == '__main__':
app.run(debug=True)
쿼리 문자열에서 값을 얻는 방법이 아니라 쿼리 문자열을 찾으러 왔습니다.
request.query_string
URL 매개 변수를 원시 바이트 문자열 (Ref 1)로 리턴합니다.
사용 예 request.query_string
:
from flask import Flask, request
app = Flask(__name__)
@app.route('/data', methods=['GET'])
def get_query_string():
return request.query_string
if __name__ == '__main__':
app.run(debug=True)
산출:
참고 문헌 :
이것은을 사용하여 수행 할 수 있습니다 request.args.get()
. 예를 들어 쿼리 문자열에 필드가 있으면 다음을 date
사용하여 액세스 할 수 있습니다.
date = request.args.get('date')
request
플라스크의 수입품 목록에 " " 를 추가하는 것을 잊지 마십시오.
from flask import request
참고 URL : https://stackoverflow.com/questions/11774265/how-do-you-get-a-query-string-on-flask
'Programming' 카테고리의 다른 글
내 앱의 갤러리 (SD 카드)에서 이미지를 선택하는 방법은 무엇입니까? (0) | 2020.03.02 |
---|---|
FlexBox 내부에서 텍스트를 세로로 정렬하는 방법은 무엇입니까? (0) | 2020.03.02 |
“ 'const NSString *'을 'NSString *'유형의 매개 변수로 보내면 한정자가 삭제됩니다. "경고 (0) | 2020.03.02 |
자바 스크립트-문자열에서 모든 쉼표를 교체합니다 (0) | 2020.03.02 |
ListBox ItemTemplate을 가져와 ListBox의 전체 너비를 가로로 늘리는 방법은 무엇입니까? (0) | 2020.03.02 |