login_user وlogout_user والجلسات
سجّل دخول المستخدمين وخروجهم من الجلسة.
login_user وlogout_user والجلسات درس مجاني في Flask Academy على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Flask Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Flask Academy 4 دروس في المجموع.
بعض أجزاء هذا الدرس لم تُترجم بعد وتظهر باللغة الإنجليزية.
Logging Someone In
Once a password checks out, you tell Flask-Login the user is signed in by calling login_user. That single call sets up the session for you.
from flask_login import login_user
login_user(user)A Typical Login Route
In a login view you find the user, verify the password, then call login_user. After that, redirect them to a real page like the dashboard.
if user and user.check_password(pw):
login_user(user)
return redirect(url_for("dashboard"))What login_user Stores
login_user does not save the whole object. It writes the user id into the session cookie, and your user_loader rebuilds the user later.
Remember Me
Pass remember=True to keep the user logged in after the browser closes. Flask-Login sets a long-lived cookie instead of a session-only one.
login_user(user, remember=True)Accessing current_user
Anywhere in a view you can read current_user to get the logged-in person. It is a proxy that always points at the active request's user.
from flask_login import current_user
name = current_user.usernameAnonymous Users
If nobody is logged in, current_user is an anonymous user object. Its is_authenticated is False, so you can branch on that safely.
if current_user.is_authenticated:
show_dashboard()Logging Out
To sign a user out, call logout_user. It clears their id from the session so the next request treats them as anonymous again.
from flask_login import logout_user
logout_user()A Logout Route
A logout view is tiny: call logout_user, then redirect home. There is no password to check, only the session to clear.
@app.route("/logout")
def logout():
logout_user()
return redirect(url_for("index"))Secret Key Required
Sessions ride in a signed cookie, so your app needs a SECRET_KEY. Without it, login_user raises an error and nothing works.
app.config["SECRET_KEY"] = "a-long-random-value"Sessions Are Per-User
Each browser gets its own signed cookie, so two users never see each other's session. Flask-Login keeps them cleanly separated.
Greeting the User
In templates you can use current_user too, since Flask-Login injects it. That makes a personalized navbar a one-line job.
<p>Hello, {{ current_user.username }}</p>Quick Check
A user clicks Log out. Which call ends their session?
Recap
You now login_user after a password check, read current_user anywhere, and call logout_user to end a session. A SECRET_KEY ties it together. 🔑
الأسئلة الشائعة
هل درس «login_user وlogout_user والجلسات» مجاني؟
نعم — نص درس «login_user وlogout_user والجلسات» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Flask Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Flask Academy 4 دروس في المجموع.
ماذا ستتعلم في «login_user وlogout_user والجلسات»؟
سجّل دخول المستخدمين وخروجهم من الجلسة. تتمرن على Flask Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Flask Academy؟
لا تُشترط خبرة سابقة. Flask Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.
كم من الوقت يستغرق درس «login_user وlogout_user والجلسات»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Flask Academy هذا؟
نعم. كل درس في Flask Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- تجزئة كلمات المرور وعدم تخزينها كنص صريح
- محمّل المستخدم وUserMixin
- login_user وlogout_user والجلسات
- حماية العروض باستخدام login_required