int에 주조 플라스크 양식 값
투고 양식을 가지고 있습니다.personId
int to Flask.하지만,request.form['personId']
문자열을 반환합니다.플라스크가 왜 나한테 말을 안 해?
int에 입력하려고 했는데, 아래 루트에서 400 또는 500 에러가 반환되었습니다.어떻게 하면 얻을 수 있을까요?personId
플라스크에 있는 int로요?
@app.route('/getpersonbyid', methods = ['POST'])
def getPersonById():
personId = (int)(request.form['personId'])
print personId
HTTP 양식 데이터는 문자열이며 Flask는 클라이언트가 의도한 각 값의 유형에 대한 정보를 수신하지 않습니다.따라서 모든 값을 문자열로 해석합니다.
전화하시면 됩니다.int(request.form['personId'])
int 로서 ID 를 취득할 수 있습니다.값이 int가 아닌 경우 int가 됩니다.ValueError
그러면 플라스크가 500의 응답을 반환합니다.그리고 만약 그 서식에 그 서류가 없다면personId
키를 누르면 플라스크가 400 오류를 반환합니다.
personId = int(request.form['personId'])
대신 메서드를 사용하여 패스할 수 있습니다.type=int
값이 존재하며 int인 경우 값을 가져옵니다.
personId = request.form.get('personId', type=int)
지금이다personId
정수로 설정됩니다. None
필드가 양식에 없거나 정수로 변환할 수 없는 경우.
또한 예제 경로에도 몇 가지 문제가 있습니다.
루트는 다음과 같이 해야 합니다.return
그렇지 않으면 500 에러가 발생합니다. print
콘솔 출력은 응답을 반환하지 않습니다.예를 들어 ID를 다시 반환할 수 있습니다.
@app.route('/getpersonbyid', methods = ['POST'])
def getPersonById():
personId = int(request.form['personId'])
return str(personId) # back to a string to produce a proper response
테두리 괄호int
Python에서는 필요하지 않으며 이 경우 파서에 의해 무시됩니다.뭔가 의미 있는 일을 하고 있는 것 같은데personId
뷰의 값, 그렇지 않으면 사용int()
가치가 좀 무의미하다고 생각합니다.
언급URL : https://stackoverflow.com/questions/12551526/cast-flask-form-value-to-int
'programing' 카테고리의 다른 글
테이블 내의 행에서 ng-repeat 및 ng-class 사용 (0) | 2023.03.19 |
---|---|
도커 VHost의 리버스 프록시로서의 Nginx (0) | 2023.03.14 |
포스트 복제 방지 (0) | 2023.03.14 |
JavaScript를 사용하여 서버에 텍스트 파일 저장 (0) | 2023.03.14 |
반응으로 자동 완성이 꺼지지 않음 (0) | 2023.03.14 |