login_user, logout_user dan Sesi
Log masuk dan log keluar pengguna daripada sesi.
login_user, logout_user dan Sesi ialah pelajaran Flask Academy percuma di CoddyKit. Ini ialah pelajaran 3 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Flask Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Flask Academy merangkumi sejumlah 4 pelajaran.
Log Masuk Seseorang
Setelah kata laluan disahkan, anda memberitahu Flask-Login bahawa pengguna telah log masuk dengan memanggil login_user. Satu panggilan itu menyediakan sesi untuk anda.
from flask_login import login_user
login_user(user)Laluan Log Masuk Biasa
Dalam paparan log masuk, anda mencari pengguna, mengesahkan kata laluan, kemudian memanggil login_user. Selepas itu, arahkan mereka ke halaman sebenar seperti papan pemuka.
if user and user.check_password(pw):
login_user(user)
return redirect(url_for("dashboard"))Perkara yang Disimpan oleh login_user
login_user tidak menyimpan keseluruhan objek. Ia menulis id pengguna ke dalam kuki sesi, dan pemuat pengguna anda membina semula pengguna itu kemudian.
Ingat Saya
Hantar remember=True untuk memastikan pengguna kekal log masuk selepas pelayar ditutup. Flask-Login menetapkan kuki yang berjangka hayat panjang dan bukannya kuki untuk satu sesi sahaja.
login_user(user, remember=True)Mengakses current_user
Di mana-mana dalam paparan, anda boleh membaca current_user untuk mendapatkan orang yang telah log masuk. Ia ialah proksi yang sentiasa merujuk kepada pengguna bagi permintaan aktif.
from flask_login import current_user
name = current_user.usernamePengguna Tanpa Nama
Jika tiada sesiapa yang log masuk, current_user ialah objek pengguna tanpa nama. Nilai is_authenticated ialah False, jadi anda boleh membuat percabangan berdasarkan nilai itu dengan selamat.
if current_user.is_authenticated:
show_dashboard()Log Keluar
Untuk melog keluar pengguna, panggil logout_user. Fungsi itu memadamkan id mereka daripada sesi supaya permintaan seterusnya menganggap mereka sebagai tanpa nama semula.
from flask_login import logout_user
logout_user()Laluan Log Keluar
Paparan log keluar sangat ringkas: panggil logout_user, kemudian arahkan ke halaman utama. Tiada kata laluan untuk disemak, hanya sesi yang perlu dikosongkan.
@app.route("/logout")
def logout():
logout_user()
return redirect(url_for("index"))Kunci Rahsia Diperlukan
Sesi dihantar melalui kuki yang ditandatangani, jadi aplikasi anda memerlukan SECRET_KEY. Tanpanya, login_user akan menghasilkan ralat dan tiada apa-apa yang berfungsi.
app.config["SECRET_KEY"] = "a-long-random-value"Sesi Adalah Khusus untuk Setiap Pengguna
Setiap pelayar mendapat kuki bertandatangan sendiri, jadi dua pengguna tidak akan melihat sesi satu sama lain. Flask-Login memastikan sesi mereka terasing dengan kemas.
Menyapa Pengguna
Dalam templat, anda juga boleh menggunakan current_user kerana Flask-Login menyediakannya. Dengan itu, bar navigasi diperibadikan boleh dibuat dalam satu baris sahaja.
<p>Hello, {{ current_user.username }}</p>Semakan Pantas
Seorang pengguna mengklik Log keluar. Panggilan manakah yang menamatkan sesi mereka?
Ulang Kaji
Kini anda menggunakan login_user selepas kata laluan disemak, membaca current_user di mana-mana sahaja dan memanggil logout_user untuk menamatkan sesi. SECRET_KEY mengikat semuanya. 🔑
Pelajari Python dengan tutor kecerdasan buatan — percuma
Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.
- Kursus
- 30
- Pelajaran
- 120
Soalan Lazim
Adakah pelajaran “login_user, logout_user dan Sesi” percuma?
Ya — teks penuh “login_user, logout_user dan Sesi” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Flask Academy, tingkat taraf kepada CoddyKit PRO. Kursus Flask Academy merangkumi sejumlah 4 pelajaran.
Apakah yang akan saya pelajari dalam “login_user, logout_user dan Sesi”?
Log masuk dan log keluar pengguna daripada sesi. Anda berlatih Flask Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.
Adakah saya memerlukan pengalaman untuk memulakan Flask Academy?
Tiada pengalaman terdahulu diperlukan. Pembelajaran Flask Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 3 daripada 4.
Berapa lamakah pelajaran “login_user, logout_user dan Sesi” diambil?
Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.
Bolehkah saya menulis dan menjalankan kod dalam pelajaran Flask Academy ini?
Ya. Setiap pelajaran Flask Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.
Semua pelajaran dalam kursus ini
- Cincang Kata Laluan, Jangan Simpan Teks Biasa
- Pemuat Pengguna dan UserMixin
- login_user, logout_user dan Sesi
- Lindungi Paparan dengan login_required