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'?

DDD
Lepaskan: 2024-12-18 03:42:20
asal
869 orang telah melayarinya

Why Does My Flask View Return a

Memahami TypeError: objek 'bool' tidak boleh dipanggil dalam Flask Views

Apabila menyahpepijat paparan dalam Flask yang mengembalikan status 500 dengan ralat "TypeError: objek 'bool' tidak boleh dipanggil," adalah penting untuk memahami nilai pulangan yang dijangkakan fungsi paparan.

Dalam Flask, paparan harus mengembalikan salah satu daripada yang berikut:

  • Rentetan
  • Objek respons (atau subkelas)
  • Satu tuple (rentetan, status, pengepala) atau (rentetan, status)
  • WSGI yang sah aplikasi

Isu timbul apabila pandangan mengembalikan nilai boolean, seperti Benar atau Salah, yang disalah anggap sebagai aplikasi WSGI. Flask menyemak untuk tiga pilihan pertama dan menganggap yang keempat jika tiada sepadan.

Untuk menyelesaikan ralat ini, pastikan fungsi paparan anda mengembalikan salah satu jenis yang sah yang disenaraikan di atas. Dalam contoh kod yang disediakan:

@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 flask.redirect(flask.url_for('home'))

    return flask.render_template('login.html')
Salin selepas log masuk

Paparan log masuk kini mengembalikan objek Respons yang betul apabila log masuk berjaya (mengubah hala ke halaman utama) atau memaparkan templat apabila log masuk gagal. Dengan mematuhi jenis pemulangan yang betul, anda boleh mengelakkan ralat ini dan memastikan kelakuan yang betul bagi paparan Flask anda.

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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan