>백엔드 개발 >파이썬 튜토리얼 >내 Flask 보기가 'TypeError: 'bool' 개체를 호출할 수 없습니다.'를 반환하는 이유는 무엇입니까?

내 Flask 보기가 'TypeError: 'bool' 개체를 호출할 수 없습니다.'를 반환하는 이유는 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-12-16 06:54:16200검색

Why Does My Flask View Return

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.