Flask 보기의 "TypeError: 'bool' 개체를 호출할 수 없습니다." 오류 발생: 문제 해결
소개
500 상태를 트리거하는 Flask 뷰를 디버깅할 때 개발자는 다음과 같은 문제가 발생할 수 있습니다. 수수께끼 같은 오류 "TypeError: 'bool' 개체를 호출할 수 없습니다." 이 문서에서는 이 오류의 원인을 자세히 알아보고 해결 방법을 제공합니다.
오류 이해
Flask 보기는 문자열, Flask 응답 개체, 튜플을 포함한 다양한 유형을 반환할 수 있습니다. (문자열, 상태, 헤더) 및 WSGI 애플리케이션. 그러나 반환된 값이 예상 유형과 일치하지 않는 경우 Flask는 이를 WSGI 애플리케이션으로 해석합니다.
오류 원인
제공된 예에서 뷰는 성공적인 로그인을 나타내기 위해 True를 반환합니다. 그러나 bool 값 True는 유효한 WSGI 애플리케이션이 아닙니다. 결과적으로 Flask는 이를 WSGI 애플리케이션이라고 가정하고 이를 호출하려고 시도하며 "TypeError: 'bool' 객체를 호출할 수 없습니다."라는 오류가 발생합니다.
솔루션
이 문제를 해결하려면 뷰는 Flask 설명서인 응답 정보에 지정된 대로 유효한 응답 유형 중 하나를 반환해야 합니다. 이 경우 상태 코드 200과 로그인 성공을 나타내는 메시지가 포함된 Response 객체를 반환하는 것이 적절할 것입니다.
@app.route('/login', methods=['POST']) def login(): username = request.form['username'] user = User.query.filter_by(username=username).first() if user: login_user(user) return Response("Login successful", status=200) return Response("Login failed", status=401)
뷰가 유효한 응답 유형을 반환하도록 보장함으로써 개발자는 "TypeError"를 방지할 수 있습니다. : 'bool' 개체를 호출할 수 없습니다." 오류가 발생하여 Flask 애플리케이션의 안정성이 향상됩니다.
위 내용은 내 Flask 보기가 'TypeError: 'bool' 개체를 호출할 수 없습니다.'를 반환하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!