login_user, logout_user, dan Sesi
Masuk dan keluarkan pengguna dari sesi.
login_user, logout_user, dan Sesi adalah pelajaran Flask Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Flask Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Flask Academy mencakup 4 pelajaran total.
Mencatat Seseorang Masuk
Setelah kata sandi berhasil diperiksa, Anda memberi tahu Flask-Login bahwa pengguna telah masuk dengan memanggil login_user. Satu pemanggilan tersebut menyiapkan sesi untuk Anda.
from flask_login import login_user
login_user(user)Rute Masuk yang Umum
Dalam tampilan masuk, Anda mencari pengguna, memverifikasi kata sandi, lalu memanggil login_user. Setelah itu, arahkan mereka ke halaman nyata seperti dashboard.
if user and user.check_password(pw):
login_user(user)
return redirect(url_for("dashboard"))Yang Disimpan login_user
login_user tidak menyimpan seluruh objek. Fungsi ini menulis id pengguna ke dalam kuki sesi, lalu user_loader Anda membangun kembali pengguna tersebut nanti.
Ingat Saya
Teruskan remember=True agar pengguna tetap masuk setelah peramban ditutup. Flask-Login menetapkan kuki berumur panjang, bukan kuki yang hanya berlaku selama sesi.
login_user(user, remember=True)Mengakses current_user
Di mana pun dalam tampilan, Anda dapat membaca current_user untuk memperoleh orang yang sedang masuk. Ini adalah proksi yang selalu menunjuk ke pengguna pada permintaan aktif.
from flask_login import current_user
name = current_user.usernamePengguna Anonim
Jika tidak ada yang masuk, current_user adalah objek pengguna anonim. Nilai is_authenticated miliknya adalah False, sehingga Anda dapat menggunakannya dengan aman dalam percabangan.
if current_user.is_authenticated:
show_dashboard()Keluar
Untuk mengeluarkan pengguna, panggil logout_user. Fungsi ini menghapus id mereka dari sesi sehingga permintaan berikutnya kembali menganggap mereka sebagai anonim.
from flask_login import logout_user
logout_user()Rute Keluar
Tampilan keluar sangat sederhana: panggil logout_user, lalu arahkan ke beranda. Tidak ada kata sandi yang perlu diperiksa, hanya sesi yang perlu dihapus.
@app.route("/logout")
def logout():
logout_user()
return redirect(url_for("index"))Kunci Rahasia Diperlukan
Sesi disimpan dalam kuki bertanda tangan, jadi aplikasi Anda memerlukan SECRET_KEY. Tanpanya, login_user menimbulkan galat dan tidak ada yang akan berfungsi.
app.config["SECRET_KEY"] = "a-long-random-value"Sesi Berlaku per Pengguna
Setiap peramban mendapatkan kuki bertanda tangan sendiri, sehingga dua pengguna tidak akan pernah melihat sesi satu sama lain. Flask-Login memisahkan keduanya dengan rapi.
Menyapa Pengguna
Dalam templat, Anda juga dapat menggunakan current_user karena Flask-Login menyediakannya. Dengan begitu, navbar yang dipersonalisasi dapat dibuat dalam satu baris.
<p>Hello, {{ current_user.username }}</p>Pemeriksaan Singkat
Seorang pengguna mengeklik Keluar. Pemanggilan mana yang mengakhiri sesi mereka?
Ringkasan
Sekarang Anda menggunakan login_user setelah memeriksa kata sandi, membaca current_user di mana saja, dan memanggil logout_user untuk mengakhiri sesi. SECRET_KEY menyatukan semuanya. 🔑
Belajar Python dengan tutor AI — gratis
Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.
- Kursus
- 30
- Pelajaran
- 120
Pertanyaan yang Sering Diajukan
Apakah pelajaran “login_user, logout_user, dan Sesi” gratis?
Ya — teks lengkap “login_user, logout_user, dan Sesi” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Flask Academy, upgrade ke CoddyKit PRO. Kursus Flask Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “login_user, logout_user, dan Sesi”?
Masuk dan keluarkan pengguna dari sesi. Kamu berlatih Flask Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Flask Academy?
Tidak diperlukan pengalaman sebelumnya. Flask Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.
Berapa lama pelajaran “login_user, logout_user, dan Sesi” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Flask Academy ini?
Ya. Setiap pelajaran Flask Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Hash Kata Sandi, Jangan Pernah Simpan Teks Biasa
- Pemuat Pengguna dan UserMixin
- login_user, logout_user, dan Sesi
- Lindungi Tampilan dengan login_required