उपयोगकर्ता लोडर और UserMixin
LoginManager और उपयोगकर्ता मॉडल कॉन्फ़िगर करें
उपयोगकर्ता लोडर और UserMixin, CoddyKit पर Flask Academy का एक निःशुल्क पाठ है। यह 4 में से 2वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Flask Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Flask Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
Flask-Login से परिचित हों
Flask-Login एक्सटेंशन आपके लिए यह प्रबंधित करता है कि कौन लॉग-इन है। यह अनुरोधों के बीच वर्तमान उपयोगकर्ता का पता रखता है, इसलिए आपको सत्रों को हाथ से जोड़ने की आवश्यकता नहीं होती।
pip install flask-loginLoginManager बनाएँ
सब कुछ एक LoginManager से शुरू होता है। आप इसका एक उदाहरण बनाकर इसे अपने ऐप से जोड़ते हैं, ताकि Flask-Login अनुरोधों से जुड़ सके।
from flask_login import LoginManager
login_manager = LoginManager()
login_manager.init_app(app)इसके लिए दो चीज़ें आवश्यक हैं
काम करने के लिए प्रबंधक को एक ऐसा उपयोगकर्ता मॉडल चाहिए जो इसके नियमों का पालन करे, और एक ऐसा फ़ंक्शन चाहिए जो आईडी के आधार पर उपयोगकर्ता को लोड करे। आज आप दोनों सेट अप करेंगे।
UserMixin का आसान विकल्प
आपके मॉडल में is_authenticated जैसी कुछ प्रॉपर्टी उपलब्ध होनी चाहिए। UserMixin क्लास ये सभी सुविधाएँ देती है, इसलिए आपको केवल इससे विरासत लेनी है।
from flask_login import UserMixin
class User(UserMixin, db.Model):
id = db.Column(db.Integer, primary_key=True)UserMixin आपको क्या देता है
UserMixin आपको is_authenticated, is_active, is_anonymous और get_id निःशुल्क उपलब्ध कराता है। अंतिम वाला आपकी उपयोगकर्ता आईडी को एक स्ट्रिंग के रूप में लौटाता है।
user_loader कॉलबैक
Flask-Login सत्र में केवल उपयोगकर्ता आईडी रखता है। हर अनुरोध पर यह आपके उपयोगकर्ता-लोडर को बुलाकर उस आईडी को फिर से वास्तविक उपयोगकर्ता में बदलता है।
लोडर पंजीकृत करें
किसी फ़ंक्शन को login_manager.user_loader से सजाएँ। इसे सत्र से आईडी मिलती है और इसे उपयोगकर्ता ऑब्जेक्ट या None लौटाना होता है।
@login_manager.user_loader
def load_user(user_id):
return User.query.get(int(user_id))आईडी स्ट्रिंग के रूप में आती हैं
आपके लोडर को दी गई आईडी हमेशा एक स्ट्रिंग होती है, क्योंकि वह कुकी से आई है। पूर्णांक वाली प्राथमिक कुंजी से पूछताछ करने से पहले इसे int में बदलें।
return User.query.get(int(user_id))अज्ञात आईडी के लिए None लौटाएँ
अगर आईडी किसी पंक्ति से मेल नहीं खाती, तो आपके लोडर को None लौटाना चाहिए। इसके बाद Flask-Login अनुरोध को किसी अनाम आगंतुक का अनुरोध मानता है।
ज़रूरत हो तो get_id बदलें
अगर आपकी प्राथमिक कुंजी का नाम id नहीं है, तो get_id को बदलकर सही मान लौटाएँ। साधारण id कॉलम वाले अधिकांश ऐप इसे कभी नहीं बदलते।
def get_id(self):
return str(self.uuid)अब सभी हिस्से जुड़े हुए हैं
प्रबंधक, UserMixin मॉडल और उपयोगकर्ता-लोडर तैयार होने पर Flask-Login हर आने वाले अनुरोध में वर्तमान उपयोगकर्ता की पहचान कर सकता है।
त्वरित जाँच
सोचिए कि अनुरोधों के बीच सत्र वास्तव में क्या रखता है।
पुनरावलोकन
आपने LoginManager को जोड़ा, अपने मॉडल में UserMixin मिलाया और उपयोगकर्ता-लोडर लिखा। अब Flask-Login सत्र से वर्तमान उपयोगकर्ता को फिर से बना सकता है। 👤
एआई शिक्षक के साथ Python सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 30
- पाठ
- 120
अक्सर पूछे जाने वाले प्रश्न
क्या “उपयोगकर्ता लोडर और UserMixin” पाठ निःशुल्क है?
हाँ—“उपयोगकर्ता लोडर और UserMixin” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Flask Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Flask Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“उपयोगकर्ता लोडर और UserMixin” में मैं क्या सीखूँगा?
LoginManager और उपयोगकर्ता मॉडल कॉन्फ़िगर करें आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Flask Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या Flask Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Flask Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 2वाँ पाठ है।
“उपयोगकर्ता लोडर और UserMixin” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस Flask Academy पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर Flask Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- पासवर्ड हैश करें, साधारण पाठ कभी न रखें
- उपयोगकर्ता लोडर और UserMixin
- login_user, logout_user और सत्र
- login_required से दृश्यों की सुरक्षा करें