Rumah pembangunan bahagian belakang Tutorial Python Pengaturcaraan pelayan Python: menggunakan Flask-Login untuk melaksanakan log masuk pengguna

Pengaturcaraan pelayan Python: menggunakan Flask-Login untuk melaksanakan log masuk pengguna

Jun 18, 2023 pm 04:40 PM
python Log masuk pengguna flask-login

Pengaturcaraan pelayan Python: Menggunakan Flask-Login untuk melaksanakan log masuk pengguna

Dengan pembangunan dan populariti aplikasi web, log masuk pengguna telah menjadi fungsi penting untuk banyak aplikasi. Dalam pengaturcaraan pelayan Python, Flask ialah rangka kerja pembangunan web yang digunakan secara meluas. Selain itu, Flask juga menyediakan banyak sambungan pihak ketiga, seperti Flask-Login, yang boleh membantu kami melaksanakan fungsi log masuk pengguna dengan cepat.

Artikel ini akan memperkenalkan cara menggunakan sambungan Flask-Login untuk melaksanakan fungsi log masuk pengguna dalam pelayan Python. Sebelum itu, kita perlu memasang sambungan Flask dan Flask-Login. Anda boleh menggunakan arahan pip untuk memasang:

pip install Flask Flask-Login
Salin selepas log masuk

Sekarang mari kita mula melaksanakan sistem log masuk pengguna kami.

  1. Mencipta aplikasi Flask

Pertama, kita perlu mencipta aplikasi Flask. Cipta fail app.py dalam direktori akar dan tulis kod berikut di dalamnya:

from flask import Flask

app = Flask(__name__)

@app.route("/")
def index():
    return "Hello World!"

if __name__ == "__main__":
    app.run(debug=True)
Salin selepas log masuk

Dalam contoh ini, kami telah mencipta aplikasi Flask dan menentukan laluan root mengembalikan "Hello World !". Kami juga menggunakan __name__ == "__main__" pernyataan bersyarat untuk memastikan bahawa aplikasi Flask hanya berjalan apabila kami menjalankan skrip.

Kini, kami telah berjaya mencipta aplikasi Flask yang mudah.

2. Cipta model pengguna

Dalam contoh ini, kami menganggap bahawa nama pengguna dan kata laluan pengguna telah disimpan ke pangkalan data. Jadi kita perlu menentukan model pengguna terlebih dahulu supaya semasa log masuk kita boleh menyemak sama ada pengguna itu wujud.

Tambahkan kod berikut dalam fail app.py:

from flask_login import UserMixin

class User(UserMixin):
    def __init__(self, id):
        super().__init__()
        self.id = id

    def __repr__(self):
        return f"<User {self.id}>"
Salin selepas log masuk

Dalam contoh ini, kami mentakrifkan kelas Pengguna, yang mewarisi daripada kelas UserMixin Flask-Login. UserMixin menyediakan beberapa sifat dan kaedah yang berguna, termasuk:

  • is_authenticated: Benar jika pengguna telah disahkan.
  • is_active: Benar jika pengguna aktif.
  • is_anonymous: Benar jika pengguna tidak disahkan.
  • get_id: Mengembalikan perwakilan rentetan ID pengguna.

Dalam pembina kelas Pengguna, kami memasukkan ID pengguna. Kami juga mentakrifkan kaedah __repr__ untuk melihat lebih banyak maklumat tentang objek pengguna semasa penyahpepijatan dan ujian.

  1. Menulis paparan log masuk

Sekarang, kita perlu menulis paparan log masuk yang akan membenarkan pengguna memasukkan nama pengguna dan kata laluan mereka. Jika nama pengguna dan kata laluan pengguna adalah betul, log masuk berjaya dan objek pengguna ditambahkan pada sesi pengguna Flask-Login.

Tambahkan kod berikut dalam fail app.py:

from flask_login import LoginManager, login_user, current_user

login_manager = LoginManager()
login_manager.init_app(app)

@login_manager.user_loader
def load_user(user_id):
    return User(user_id)

@app.route("/login")
def login():
    user_id = request.args.get("user_id")
    password = request.args.get("password")
    if user_id and password:
        # 省略查询数据库的代码
        user = User(user_id)
        login_user(user)
        return "Login success!"
    else:
        return "Login failed!"

@app.route("/logout")
def logout():
    logout_user()
    return "Logout success!"
Salin selepas log masuk

Dalam contoh ini, kami mula-mula mencipta objek LoginManager. Kami kemudiannya mentakrifkan fungsi panggil balik user_loader yang mengambil ID pengguna sebagai parameter dan mengembalikan objek pengguna yang sepadan dengan ID tersebut. Dalam contoh ini, kami mencipta objek User baharu dan lulus ID sebagai parameter.

Seterusnya, kami mentakrifkan paparan log masuk. Dalam fungsi paparan, kami menggunakan kaedah request.args.get untuk mendapatkan ID pengguna dan kata laluan daripada rentetan pertanyaan. Kemudian kami menyemak sama ada ID pengguna dan kata laluan adalah sah. Jika nama pengguna dan kata laluan pengguna adalah betul, cipta objek User baharu dan gunakan fungsi login_user untuk menambah objek pada sesi pengguna Flask-Login. Jika nama pengguna dan kata laluan pengguna salah, pengguna tidak boleh log masuk.

Akhir sekali, kami mentakrifkan paparan log keluar, yang menggunakan fungsi logout_user untuk mengalih keluar objek pengguna semasa daripada sesi pengguna Flask-Login dan mengembalikan mesej yang menunjukkan log keluar yang berjaya.

  1. Lindungi pandangan lain

Kini, kami telah melaksanakan sistem log masuk pengguna tetapi kami tidak menggunakannya untuk melindungi pandangan lain. Dalam contoh ini, kami akan melindungi halaman yang dipanggil "profil" yang hanya boleh diakses apabila pengguna log masuk. Jika pengguna tidak log masuk, mereka akan dialihkan ke halaman log masuk.

Tambah kod berikut dalam fail app.py:

from flask_login import login_required

@app.route("/profile")
@login_required
def profile():
    return f"Welcome, {current_user.id}!"
Salin selepas log masuk

Dalam contoh ini, kami menggunakan penghias login_required untuk melindungi laluan "profil". Jika pengguna tidak log masuk, penghias ini akan mengubah hala ke halaman log masuk.

Apabila melindungi paparan, kami juga menggunakan current_user pembolehubah global untuk mengakses maklumat pengguna yang sedang log masuk. Dalam contoh ini, kami menambah mesej alu-aluan ringkas yang mengandungi ID pengguna yang sedang log masuk.

  1. Jalankan aplikasi

Kini, kami telah menyelesaikan semua pelaksanaan sistem log masuk pengguna. Mari jalankan aplikasi dan ujinya.

Masukkan arahan berikut dalam terminal untuk melancarkan aplikasi:

python app.py
Salin selepas log masuk

Masukkan URL berikut dalam penyemak imbas untuk mengakses halaman utama:

http://localhost:5000/
Salin selepas log masuk

Anda seharusnya melihat "Hello World !" rentetan. Sekarang cuba akses URL berikut:

http://localhost:5000/profile
Salin selepas log masuk

Memandangkan anda bukan pengguna yang disahkan, anda akan dialihkan ke halaman log masuk. Masukkan ID pengguna dan kata laluan yang sah dalam rentetan pertanyaan, contohnya:

http://localhost:5000/login?user_id=1&password=password123
Salin selepas log masuk

Jika anda memasukkan nama pengguna dan kata laluan yang betul, anda sepatutnya melihat "Mesej log masuk!" Sekarang, akses laluan "/profile" sekali lagi dan ia sepatutnya memaparkan mesej alu-aluan yang mengandungi ID pengguna yang sedang log masuk.

如果你在浏览器中访问以下URL,则可以注销当前会话:

http://localhost:5000/logout
Salin selepas log masuk

这样就完成了用户登录系统的所有实现。

总结

在本文中,我们介绍了如何使用Flask-Login扩展在Python服务器中实现用户登录功能。使用Flask-Login可以方便地验证和保护Web应用程序中的用户数据。此外,Flask-Login提供了许多有用的功能和方法,如会话管理和用户保护。希望这篇文章能够帮助你更好地了解如何使用Flask-Login编写Python服务器应用程序。

Atas ialah kandungan terperinci Pengaturcaraan pelayan Python: menggunakan Flask-Login untuk melaksanakan log masuk pengguna. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara Membuka Format XML Cara Membuka Format XML Apr 02, 2025 pm 09:00 PM

Gunakan kebanyakan editor teks untuk membuka fail XML; Jika anda memerlukan paparan pokok yang lebih intuitif, anda boleh menggunakan editor XML, seperti editor XML oksigen atau XMLSPY; Jika anda memproses data XML dalam program, anda perlu menggunakan bahasa pengaturcaraan (seperti Python) dan perpustakaan XML (seperti XML.Etree.ElementTree) untuk menghuraikan.

Adakah terdapat aplikasi mudah alih yang boleh menukar XML ke PDF? Adakah terdapat aplikasi mudah alih yang boleh menukar XML ke PDF? Apr 02, 2025 pm 09:45 PM

Tiada aplikasi yang boleh menukar semua fail XML ke dalam PDF kerana struktur XML adalah fleksibel dan pelbagai. Inti XML ke PDF adalah untuk menukar struktur data ke dalam susun atur halaman, yang memerlukan parsing XML dan menjana PDF. Kaedah umum termasuk parsing XML menggunakan perpustakaan python seperti ElementTree dan menjana PDF menggunakan perpustakaan ReportLab. Untuk XML yang kompleks, mungkin perlu menggunakan struktur transformasi XSLT. Apabila mengoptimumkan prestasi, pertimbangkan untuk menggunakan multithreaded atau multiprocesses dan pilih perpustakaan yang sesuai.

Cara Mencantikkan Format XML Cara Mencantikkan Format XML Apr 02, 2025 pm 09:57 PM

Pengindahan XML pada dasarnya meningkatkan kebolehbacaannya, termasuk lekukan yang munasabah, rehat garis dan organisasi tag. Prinsipnya adalah untuk melintasi pokok XML, tambah lekukan mengikut tahap, dan mengendalikan tag dan tag kosong yang mengandungi teks. Perpustakaan XML.Etree.ElementTree Python menyediakan fungsi Pretty_XML yang mudah yang dapat melaksanakan proses pengindahan di atas.

Adakah kelajuan penukaran cepat apabila menukar XML ke PDF pada telefon bimbit? Adakah kelajuan penukaran cepat apabila menukar XML ke PDF pada telefon bimbit? Apr 02, 2025 pm 10:09 PM

Kelajuan XML mudah alih ke PDF bergantung kepada faktor -faktor berikut: kerumitan struktur XML. Kaedah Penukaran Konfigurasi Perkakasan Mudah Alih (Perpustakaan, Algoritma) Kaedah Pengoptimuman Kualiti Kod (Pilih perpustakaan yang cekap, mengoptimumkan algoritma, data cache, dan menggunakan pelbagai threading). Secara keseluruhannya, tidak ada jawapan mutlak dan ia perlu dioptimumkan mengikut keadaan tertentu.

Bagaimana cara menukar fail XML ke PDF di telefon anda? Bagaimana cara menukar fail XML ke PDF di telefon anda? Apr 02, 2025 pm 10:12 PM

Tidak mustahil untuk menyelesaikan penukaran XML ke PDF secara langsung di telefon anda dengan satu aplikasi. Ia perlu menggunakan perkhidmatan awan, yang boleh dicapai melalui dua langkah: 1. Tukar XML ke PDF di awan, 2. Akses atau muat turun fail PDF yang ditukar pada telefon bimbit.

Adakah terdapat aplikasi mudah alih yang boleh menukar XML ke PDF? Adakah terdapat aplikasi mudah alih yang boleh menukar XML ke PDF? Apr 02, 2025 pm 08:54 PM

Permohonan yang menukarkan XML terus ke PDF tidak dapat dijumpai kerana mereka adalah dua format yang berbeza. XML digunakan untuk menyimpan data, manakala PDF digunakan untuk memaparkan dokumen. Untuk melengkapkan transformasi, anda boleh menggunakan bahasa pengaturcaraan dan perpustakaan seperti Python dan ReportLab untuk menghuraikan data XML dan menghasilkan dokumen PDF.

Cara menukar XML ke dalam gambar Cara menukar XML ke dalam gambar Apr 03, 2025 am 07:39 AM

XML boleh ditukar kepada imej dengan menggunakan perpustakaan penukar XSLT atau imej. XSLT Converter: Gunakan pemproses XSLT dan stylesheet untuk menukar XML ke imej. Perpustakaan Imej: Gunakan perpustakaan seperti PIL atau ImageMagick untuk membuat imej dari data XML, seperti bentuk lukisan dan teks.

Bagaimana cara mengawal saiz XML ditukar kepada imej? Bagaimana cara mengawal saiz XML ditukar kepada imej? Apr 02, 2025 pm 07:24 PM

Untuk menjana imej melalui XML, anda perlu menggunakan perpustakaan graf (seperti bantal dan JFreechart) sebagai jambatan untuk menjana imej berdasarkan metadata (saiz, warna) dalam XML. Kunci untuk mengawal saiz imej adalah untuk menyesuaikan nilai & lt; lebar & gt; dan & lt; ketinggian & gt; Tag dalam XML. Walau bagaimanapun, dalam aplikasi praktikal, kerumitan struktur XML, kehalusan lukisan graf, kelajuan penjanaan imej dan penggunaan memori, dan pemilihan format imej semuanya mempunyai kesan ke atas saiz imej yang dihasilkan. Oleh itu, perlu mempunyai pemahaman yang mendalam tentang struktur XML, mahir dalam perpustakaan grafik, dan mempertimbangkan faktor -faktor seperti algoritma pengoptimuman dan pemilihan format imej.

See all articles