programing

int에 주조 플라스크 양식 값

minimums 2023. 3. 14. 21:32
반응형

int에 주조 플라스크 양식 값

투고 양식을 가지고 있습니다.personIdint 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

테두리 괄호intPython에서는 필요하지 않으며 이 경우 파서에 의해 무시됩니다.뭔가 의미 있는 일을 하고 있는 것 같은데personId뷰의 값, 그렇지 않으면 사용int()가치가 좀 무의미하다고 생각합니다.

언급URL : https://stackoverflow.com/questions/12551526/cast-flask-form-value-to-int

반응형