Rumah >pembangunan bahagian belakang >Tutorial Python >Mengapa Mengembalikan Boolean daripada Pandangan Kelalang Menyebabkan Ralat 'Objek 'bool' Tidak Boleh Dipanggil'?

Mengapa Mengembalikan Boolean daripada Pandangan Kelalang Menyebabkan Ralat 'Objek 'bool' Tidak Boleh Dipanggil'?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-12 19:21:12151semak imbas

Why Does Returning a Boolean from a Flask View Cause a

Objek 'bool' Tidak Boleh Panggil Ralat dalam Paparan Kelalang

Dalam Kelalang, paparan dijangka akan mengembalikan jenis nilai tertentu: rentetan, Respons objek, tupel yang mengandungi data respons, kod status dan pengepala, atau aplikasi WSGI yang sah. Walau bagaimanapun, isu timbul apabila paparan mengembalikan nilai boolean, mengakibatkan TypeError: objek 'bool' bukan ralat boleh panggil.

Isu ini berpunca daripada fakta bahawa Flask pada mulanya menyemak untuk tiga jenis pulangan dijangka pertama . Jika tiada yang sepadan, ia menganggap nilai pulangan ialah aplikasi WSGI. Mengembalikan True dalam paparan menyebabkan Flask menganggapnya sebagai aplikasi WSGI, yang membawa kepada ralat.

Untuk menyelesaikannya, paparan harus mematuhi jenis pulangan yang sesuai seperti yang dinyatakan dalam dokumentasi Flask. Contohnya termasuk:

  • Mengembalikan rentetan: kembalikan "Hello world!"
  • Mengembalikan objek Respons: return Response("Hello world!", status=200)
  • Memulangkan tuple: return ("Hello world!", 200, {"Content-Type": "text/html"})

Dengan mengikuti garis panduan ini, anda boleh memastikan paparan Flask anda mengembalikan nilai yang dijangkakan dan mengelakkan objek 'bool' bukan ralat boleh dipanggil.

Atas ialah kandungan terperinci Mengapa Mengembalikan Boolean daripada Pandangan Kelalang Menyebabkan Ralat 'Objek 'bool' Tidak Boleh Dipanggil'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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