Kullanıcı Yükleyici ve UserMixin
LoginManager’ı ve kullanıcı modelini yapılandırın.
Kullanıcı Yükleyici ve UserMixin, CoddyKit'te ücretsiz bir Flask Academy dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Flask Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Flask Academy kursu toplamda 4 dersten oluşur.
Flask-Login ile Tanışın
Flask-Login uzantısı, kimin giriş yaptığını sizin için yönetir. Oturumları elle bağlamanıza gerek kalmadan mevcut kullanıcıyı istekler arasında takip eder.
pip install flask-loginBir LoginManager Oluşturun
Her şey bir LoginManager ile başlar. Bir örnek oluşturup Flask-Login'ın isteklerle bağlantı kurabilmesi için bunu uygulamanıza bağlarsınız.
from flask_login import LoginManager
login_manager = LoginManager()
login_manager.init_app(app)İki Şeye İhtiyacı Var
Yönetici, çalışabilmek için kurallarına uyan bir kullanıcı modeli ve kullanıcıyı kimliğine göre yükleyen bir işleve ihtiyaç duyar. Bugün ikisini de kuracaksınız.
UserMixin Kısayolu
Modelinizin is_authenticated gibi birkaç özelliği kullanıma sunması gerekir. UserMixin sınıfı bunların hepsini sağladığından yalnızca ondan miras almanız yeterlidir.
from flask_login import UserMixin
class User(UserMixin, db.Model):
id = db.Column(db.Integer, primary_key=True)UserMixin Size Neler Sağlar
UserMixin size is_authenticated, is_active, is_anonymous ve get_id özelliklerini hazır olarak sağlar. Sonuncusu, kullanıcı kimliğinizi dize olarak döndürür.
user_loader Geri Çağırması
Flask-Login oturumda yalnızca kullanıcı kimliğini saklar. Bu kimliği gerçek bir kullanıcıya dönüştürmek için her istekte user_loader işlevinizi çağırır.
Yükleyiciyi Kaydetme
Bir işlevi login_manager.user_loader ile süsleyin. Bu işlev oturumdaki kimliği alır ve bir kullanıcı nesnesi veya None döndürmelidir.
@login_manager.user_loader
def load_user(user_id):
return User.query.get(int(user_id))Kimlikler Dize Olarak Gelir
Yükleyicinize aktarılan kimlik her zaman bir dizedir; çünkü çerezden gelir. Tamsayı bir birincil anahtarı sorgulamadan önce bunu int türüne dönüştürün.
return User.query.get(int(user_id))Bilinmeyenler İçin None Döndürün
Kimlik hiçbir satırla eşleşmiyorsa yükleyiciniz None döndürmelidir. Flask-Login daha sonra isteğin anonim bir ziyaretçiden geldiğini kabul eder.
Gerekirse get_id'yi Geçersiz Kılın
Birincil anahtarınızın adı id değilse doğru değeri döndürmesi için get_id işlevini geçersiz kılın. Düz bir id sütunu kullanan çoğu uygulamada buna dokunulmaz.
def get_id(self):
return str(self.uuid)Parçalar Artık Birbirine Bağlı
Yönetici, UserMixin modeli ve user_loader hazır olduğunda Flask-Login gelen her istekte mevcut kullanıcıyı tanımlayabilir.
Hızlı Kontrol
İstekler arasında oturumun gerçekte ne sakladığını düşünün.
Özet
Bir LoginManager bağladınız, UserMixin'i modelinize eklediniz ve bir user_loader yazdınız. Flask-Login artık mevcut kullanıcıyı bir oturumdan yeniden oluşturabilir. 👤
Sıkça Sorulan Sorular
“Kullanıcı Yükleyici ve UserMixin” dersi ücretsiz mi?
Evet — “Kullanıcı Yükleyici ve UserMixin” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Flask Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Flask Academy kursu toplamda 4 dersten oluşur.
“Kullanıcı Yükleyici ve UserMixin” dersinde ne öğreneceğim?
LoginManager’ı ve kullanıcı modelini yapılandırın. Flask Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Flask Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Flask Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.
“Kullanıcı Yükleyici ve UserMixin” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Flask Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Flask Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Parolaları Özetleme, Açık Metin Saklamama
- Kullanıcı Yükleyici ve UserMixin
- login_user, logout_user ve Oturumlar
- Görünümleri login_required ile Koruma