ปกป้องมุมมองด้วย login_required
ควบคุมเส้นทางและเปลี่ยนเส้นทางผู้ใช้ที่ไม่ระบุตัวตน
ปกป้องมุมมองด้วย login_required เป็นบทเรียน Flask Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Flask Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Flask Academy มีบทเรียนทั้งหมด 4 บทเรียน
บางส่วนของบทเรียนนี้ยังไม่ได้รับการแปล และแสดงเป็นภาษาอังกฤษ
Some Pages Need a Guard
A dashboard or settings page should never load for a stranger. You protect such routes so only a logged-in user can reach them.
The login_required Decorator
Flask-Login hands you a one-line gate: the login_required decorator. Stack it on any view and anonymous visitors get bounced away.
from flask_login import login_requiredApply It to a Route
Place login_required just below the route decorator. Order matters, so the auth check wraps the view that Flask actually calls.
@app.route("/dashboard")
@login_required
def dashboard():
return "Welcome back"What Happens to Strangers
If an anonymous user hits a guarded route, Flask-Login does not show the page. It redirects them to your login view instead.
Tell It Where Login Lives
For the redirect to work, set login_view on the manager. Give it the endpoint name of your login route so it knows the target.
login_manager.login_view = "login"The next Parameter
Flask-Login appends a next query parameter to the login URL. It remembers where the user wanted to go before being redirected.
Send Them Back After Login
In your login view, read request.args.get for next and redirect there once they sign in. The user lands exactly where they started.
dest = request.args.get("next") or url_for("index")
return redirect(dest)Customize the Message
You can set login_message to control the flash shown when access is denied. A friendly note beats a confusing silent redirect.
login_manager.login_message = "Please log in first."Use current_user Inside
Inside a guarded view you can trust current_user is real and authenticated. No need to re-check, the decorator already did it.
@login_required
def profile():
return current_user.emailProtecting Many Routes
For a whole admin area you can apply login_required per view, or attach it to a blueprint's before_request so every route is covered.
Beyond Just Logged In
login_required only checks that someone is authenticated. For role checks like admin-only, you add your own logic on top inside the view.
Quick Check
An anonymous visitor opens a login_required route. What does Flask-Login do?
Recap
You guarded routes with login_required, set login_view for redirects, and used next to return users home. Your protected pages are locked down. 🛡️
คำถามที่พบบ่อย
บทเรียน “ปกป้องมุมมองด้วย login_required” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “ปกป้องมุมมองด้วย login_required” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Flask Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Flask Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “ปกป้องมุมมองด้วย login_required”
ควบคุมเส้นทางและเปลี่ยนเส้นทางผู้ใช้ที่ไม่ระบุตัวตน คุณปฏิบัติ Flask Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Flask Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Flask Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน
บทเรียน “ปกป้องมุมมองด้วย login_required” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Flask Academy นี้ได้ไหม
ได้ บทเรียน Flask Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- แฮชรหัสผ่าน อย่าเก็บข้อความแบบไม่เข้ารหัส
- ตัวโหลดผู้ใช้และ UserMixin
- login_user, logout_user และเซสชัน
- ปกป้องมุมมองด้วย login_required