"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)
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!