urlmiddleware является приложение Django, что позволяет определить промежуточное в вашем проекте Django на основе конфигураций URL вместо добавления промежуточное глобально каждого запроса.
Почему?
Добавление промежуточное глобально не всегда хорошая вещь. Вы можете только он вступит в силу на определенных областях в свой веб-сайт. В-третьих приложений сторонних также можете затем включить их определения промежуточного в url.py файл и удалить необходимость для Вас, чтобы изменить глобальные настройки.
Краткое
Установите urlmiddleware:
пункт установить urlmiddleware
Там нет необходимости, чтобы добавить его в установленных приложениях, однако, вы должны зарегистрироваться один глобальный класс промежуточного, которые затем контролировать гиперссылка на основе промежуточное:
MIDDLEWARE_CLASSES = (
& NBSP; # ...
& NBSP; # добавить urlmiddleware после всех других промежуточного.
& NBSP; 'urlmiddleware.URLMiddleware ",
)
Начните добавлять связующее ПО вашего проекта в ваших url.py файлов ниже нормальные определения URL:
middlewarepatterns = узоры ('',
& NBSP; гиперссылка (г '^ MyApp /', MyMiddleWareClass),
)
Типичным примером является использование этой техники, чтобы добавить логин необходимое для целых подразделов свой адрес дерева. Прежде всего, необходимо создать LoginRequiredMiddleware:
от django.conf параметров импорта
от django.contrib.auth.views импорта логин
от импорта django.http HttpResponseRedirect
класс LoginRequiredMiddleware (объект):
& NBSP; Def process_request (само запрос):
& NBSP; login_path = settings.LOGIN_URL
& NBSP; если request.path = login_path и request.user.is_anonymous (!):
& NBSP; если request.POST:
& NBSP; возвращение Войти (запрос)
& NBSP; другое:
& NBSP; вернуться HttpResponseRedirect ('% S следующая =% s?'% (login_path, request.path))
Затем в файле urls.py:
от myapp.middleware импорта LoginRequiredMiddleware
middlewarepatterns = узоры ('',
& NBSP; гиперссылка (г '^ счета /', LoginRequiredMiddleware),
)
! Готово
Требования
- Python
- Джанго
Комментарии не найдены