Защита представлений с помощью login_required
Закрывайте маршруты и перенаправляйте анонимных пользователей.
«Защита представлений с помощью login_required» — бесплатный урок Flask Academy на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 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. 🛡️
Изучай Python с ИИ-репетитором — бесплатно
Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.
- Курсы
- 30
- Уроки
- 120
Часто задаваемые вопросы
Урок «Защита представлений с помощью login_required» бесплатный?
Да — полный текст урока «Защита представлений с помощью login_required» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Flask Academy, подпишись на CoddyKit PRO. Курс Flask Academy содержит 4 уроков всего.
Чему я научусь в уроке «Защита представлений с помощью login_required»?
Закрывайте маршруты и перенаправляйте анонимных пользователей. Ты практикуешь Flask Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 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