Flask Academy · Pelajaran

login_user, logout_user, dan Sesi

Masuk dan keluarkan pengguna dari sesi.

Pelajaran 3 dari 413 langkah

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.username

Pengguna 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. 🔑

Gratis untuk memulai

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

  1. Hash Kata Sandi, Jangan Pernah Simpan Teks Biasa
  2. Pemuat Pengguna dan UserMixin
  3. login_user, logout_user, dan Sesi
  4. Lindungi Tampilan dengan login_required
← Kembali ke Flask Academy