Мне нужно проверять авторизацию пользователя в каждом представлении одного из моих приложений Django (я не использую встроенную систему аутентификации Django) и перенаправлять пользователя на страницу «Пожалуйста, войдите», если авторизация не удалась.
Код выглядит так:
try:
admin_from_session = request.session['admin'];
admin = Administrator.objects.get(login = admin_from_session.login, password = admin_from_session.password, enabled=True);
except KeyError, Administrator.DoesNotExist:
return HttpResponseRedirect('/controlpanel/login')
Вопрос: как мне запустить этот код в начале каждого просмотра, не повторяя его каждый раз?
Если бы я написал свою программу на PHP, я бы поместил этот код в отдельный файл и написал что-то вроде этого в начале каждой страницы, требующей авторизации:
include("redirect_if_not_logged_in.inc.php");
Решения, которые я нашел, были:
- теги включения - не работает,
потому что я не могу никуда перенаправить
оттуда
- пользовательская функция -
также не делает, из-за того же
причина.
Задача кажется тривиальной, но я не могу найти решение. Буду очень признателен за любую помощь.