Flask View TypeError: 'bool' Object Not Callable
Dalam Flask, paparan dijangka akan mengembalikan jenis data tertentu, iaitu: rentetan, Objek respons, tuple rentetan dan kod status, atau aplikasi WSGI yang sah. Walau bagaimanapun, mengembalikan nilai boolean boleh membawa kepada ralat: TypeError: objek 'bool' tidak boleh dipanggil.
Ini berlaku apabila fungsi pandangan, bukannya mengembalikan salah satu jenis data yang disebutkan di atas, mengembalikan boolean (True atau Palsu). Flask mentafsir boolean ini sebagai aplikasi WSGI dan cuba memanggilnya, mengakibatkan ralat.
Untuk menyelesaikan isu ini, pastikan fungsi paparan mengembalikan salah satu jenis data yang disokong. Dalam sampel kod yang diberikan, paparan mengembalikan True selepas berjaya melog masuk pengguna:
@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 True return False
Untuk membetulkannya, ia harus mengembalikan rentetan, objek Respons atau tuple dan bukannya boolean:
@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 redirect(url_for('home')) # Return a string or redirect return Response("Login failed", status=401) # Return a Response object
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!