pyramid_subscribers_cookiexfer модуль Python, что позволяет передавать куки с просьбой к ответу на HTTP-исключения. Вы, возможно, потребуется, как это перенаправления подклассы httpexceptions.
Обзор
Типичный поток пользователь может быть таким:
* Пользователь отправляет форму в / счета / логин
* Серверные аутентификацию, устанавливает различные печенья
* Базовая перенаправляет / счета / дома
Если вы только сохранения данных через пирамиды сессий в этом нет необходимости - пирамида сессия печенье поставили перед аутентификации, так что данные не устранена через редирект.
Это полезно, если вы настраиваете вспомогательную информацию через куки, как кэширование данных пользователя на стороне клиента.
Почти каждый браузер уважает заголовок SetCookie на редирект - только Safari, как известно, это игнорировать и NBSP;. Многие разработчики хранят печенье в данных сессии, чтобы показать на будущих посещений, этот пакет автоматизирует это.
Существует два способа сохранения информации в
- Add_headers - передает заголовки сообщений печенья из запроса к ответу
- Session_save - сохраняет куки вы хотите, чтобы установить в сессии, переносит их в ответ на следующий просмотр страницы
Кроме того пакет предоставляет возможность "однозначно" управлять печенье, чтобы избежать дубликатов NBSP &. сейчас это поведение рекомендуется.
Пакет настроить через несколько переменных, установленных в ваших файлов .ini, то включен с импорта и призыв к "инициализации" в ваших .ini
Внутренние механика довольно прост:
& NBSP; & NBSP; & NBSP; config.add_subscriber (\
& NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; Новый запрос,
& NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; "pyramid.events.NewRequest ')
& NBSP; & NBSP; & NBSP; config.add_subscriber (\
& NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; new_response,
& NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; "pyramid.events.NewResponse ')
& NBSP; & NBSP; & NBSP;
Для того, чтобы помочь в отладке и сократить обработки:
- Initialize_subscribers () будет только установить NewResponse слушателя, если будет использоваться sessioning
- Настраиваемый регулярное выражение используется для устранения путей из модуля (в том числе отладочных отчетности)
Важные замечания:
- Этот пакет будет уважать заголовки, которые, поднятые с HttpException
- Потому что, как внутренних органов работы пирамиды, вы должны "возвращение" редирект - не «рейз» это - если вы хотите печенье, переданные из request.response & NBSP. Если вы поднять "перенаправление, только заголовки, используемые для инициализации переадресации могут быть сохранены в сессии (они существуют в новом объекте ответа и не должны быть переданы)
Эти ситуации будут работать:
Несколько примеров тематические
& NBSP; & NBSP; & NBSP; вернуться HTTPFound (место = '/ новый / место')
& NBSP; & NBSP; & NBSP; - Любые печенье, установленные request.response.set_cookie будут переданы
& NBSP; & NBSP; & NBSP;
& NBSP; & NBSP; & NBSP; вернуться HTTPFound (местоположение = '/ новый / место', заголовки = dict_of_headers)
& NBSP; & NBSP; & NBSP; - Заголовки в dict_of_headers уже в новом ответ, и может сохраняться в сессии
& NBSP; & NBSP; & NBSP; - Любые печенье, установленные request.response.set_cookie будут переданы
& NBSP; & NBSP; & NBSP;
& NBSP; & NBSP; & NBSP; поднять HTTPFound (место = '/ новый / место')
& NBSP; & NBSP; & NBSP; - Не печенье, установленные request.response.set_cookie не будут переданы
& NBSP; & NBSP; & NBSP; поднять HTTPFound (местоположение = '/ новый / место', заголовки = dict_of_headers)
& NBSP; & NBSP; & NBSP; - Заголовки в dict_of_headers уже в новом ответ, и может сохраняться в сессии
& NBSP; & NBSP; & NBSP; - Не печенье, установленные request.response.set_cookie не будут переданы
Настройка
environment.ini
& NBSP; & NBSP; & NBSP; cookie_xfer.redirect_add_headers = True
& NBSP; & NBSP; & NBSP; cookie_xfer.redirect_add_headers__unique = True
& NBSP; & NBSP; & NBSP; cookie_xfer.redirect_session_save = False
& NBSP; & NBSP; & NBSP; cookie_xfer.redirect_session_save__unique = False
& NBSP; & NBSP; & NBSP; cookie_xfer.re_excludes = "^ / (CSS | IMG | JS | деформируются | _debug_toolbar)"
& NBSP; & NBSP; & NBSP;
Приложение / __ init__.py
& NBSP; & NBSP; & NBSP; импорт pyramid_subscribers_cookiexfer
& NBSP; & NBSP; & NBSP;
& NBSP; & NBSP; & NBSP; Def основных (global_config, ** установка):
& NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; ...
& NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; pyramid_subscribers_cookiexfer.initialize (конфигурации, настройки)
& NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; ...
Требования
- Python
- пирамида
Комментарии не найдены