Flask의 요청으로 Boolean을 GET
환경
우선 SOURCE
bool 형의 is_hoge
를 request로 받아들여 돌려줄 뿐의 API
hoge.pyfrom flask import Flask, request
app = Flask(__name__)
@app.route("/", methods=['GET'])
def hello():
is_hoge = request.args.get('is_hoge', type=bool)
return f'{ is_hoge }'
if __name__ == "__main__":
app.run()
기대치
from flask import Flask, request
app = Flask(__name__)
@app.route("/", methods=['GET'])
def hello():
is_hoge = request.args.get('is_hoge', type=bool)
return f'{ is_hoge }'
if __name__ == "__main__":
app.run()
true
보내면 True
false
보내면 False
0
보내면 False
실행 결과
true
false
뭐라고 말할 것입니다. 모든 결과로서
True
가 돌아왔습니다.신미 페이페의 고찰로서는 모두 문자열로서 파악되어 버려
True
가 돌아왔다고 생각합니다.어떻게 든 Boolean으로 사용할 수 있기를 원합니다.
파이썬에는 strtobool() 이라는 편리한 함수가 있다고 하고, 이것을 사용해 갑니다.
converter.pyfrom distutils.util import strtobool
def convert_to_bool(target_object, default_val):
if target_object is None:
return default_val
try:
return strtobool(target_object)
except:
return default_val
인수로 가져온 값이 None
의 때나 예외가 발생했을 경우에는 default_val
를 돌려주도록(듯이) 했습니다.
hoge.py is_hoge = converter.convert_to_bool(request.args.get('is_hoge'), False)
다시 실행
from distutils.util import strtobool
def convert_to_bool(target_object, default_val):
if target_object is None:
return default_val
try:
return strtobool(target_object)
except:
return default_val
is_hoge = converter.convert_to_bool(request.args.get('is_hoge'), False)
true
false
0
0과 1이 돌아오게 되었습니다. 수치의 진위치의 판별이면 0은 False, 0 이외는 True가 되므로 문제 없다고 생각합니다!
후기
처음의 투고이므로, 이르지 못하는 점이 있으면 교시해 주시면 다행입니다.
Reference
이 문제에 관하여(Flask의 요청으로 Boolean을 GET), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kz_be718/items/fcd4570743f1445a443a
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Flask의 요청으로 Boolean을 GET), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kz_be718/items/fcd4570743f1445a443a텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)