Rumah > pembangunan bahagian belakang > Tutorial Python > Mengapa Pandangan Flask Saya Mengembalikan 'TypeError: objek 'bool' tidak boleh dipanggil'?

Mengapa Pandangan Flask Saya Mengembalikan 'TypeError: objek 'bool' tidak boleh dipanggil'?

Barbara Streisand
Lepaskan: 2024-12-16 06:54:16
asal
197 orang telah melayarinya

Why Does My Flask View Return

"TypeError: objek 'bool' tidak boleh dipanggil" dalam Flask Views: Menyelesaikan masalah

Pengenalan

Apabila menyahpepijat paparan Flask yang mencetuskan status 500, pembangun boleh menghadapi ralat misteri "TypeError: objek 'bool' tidak boleh dipanggil." Artikel ini menyelidiki punca ralat ini dan menyediakan penyelesaian.

Memahami Ralat

Pandangan kelalang boleh mengembalikan pelbagai jenis, termasuk rentetan, objek Respons Kelalang, tupel daripada (rentetan, status, pengepala) dan aplikasi WSGI. Walau bagaimanapun, jika nilai yang dikembalikan tidak sepadan dengan mana-mana jenis yang dijangkakan, Flask mentafsirkannya sebagai aplikasi WSGI.

Punca Ralat

Dalam contoh yang disediakan, paparan mengembalikan Benar untuk menunjukkan log masuk yang berjaya. Walau bagaimanapun, nilai bool True bukanlah aplikasi WSGI yang sah. Akibatnya, Flask menganggap ia adalah aplikasi WSGI dan cuba memanggilnya, mengakibatkan ralat "TypeError: objek 'bool' tidak boleh dipanggil."

Penyelesaian

Untuk menyelesaikan isu ini, paparan mesti mengembalikan salah satu jenis respons yang sah seperti yang dinyatakan dalam dokumentasi Flask: Perihal Respons. Dalam kes ini, mengembalikan objek Respons dengan kod status 200 dan mesej yang menunjukkan log masuk berjaya adalah sesuai.

@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)
Salin selepas log masuk

Dengan memastikan paparan mengembalikan jenis respons yang sah, pembangun boleh menghalang "TypeError : objek 'bool' tidak boleh dipanggil" ralat dan meningkatkan kebolehpercayaan aplikasi Flask mereka.

Atas ialah kandungan terperinci Mengapa Pandangan Flask Saya Mengembalikan 'TypeError: objek 'bool' tidak boleh dipanggil'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan