Согласно Django documentation, мы можем установить обработчик ошибок по умолчанию, как это:Как установить обработчик по умолчанию для проверки CSRF в django?
handler403 = 'mysite.views.my_custom_permission_denied_view'
...
Мой обработчик для 404 и 500 работает нормально. Но в случае запрета доступа я не могу его активировать (когда я поднимаю HttpResponseForbidden
, обработчик-обработчик является обработчиком ошибки 500). Во всяком случае, это не моя проблема. Моя проблема в том, что когда я пытаюсь подделать (для целей тестирования) токен CSRF
, он выбрасывает «Запрещено», но опять же, мой обработчик для запрещенного доступа не вызывается - он вызывает шаблон django по умолчанию для запрещенного значения 403. И когда я пытаюсь получить доступ к корневому каталогу static
(или media
), вызывается страница с запрещенной по умолчанию страницы сервера (apache httpd в моем случае), которая в порядке.
Мой вопрос:
- Как установить обработчик по умолчанию для "проверки CSRF не удалось"?
- В каких случаях обрабатывается обработчик 403?
- Как я могу вызвать 403 запрещенную ошибку?
Вот мои настройки:
- Python 3.4
- Джанго 1,10 (производство, отладка = False)
- Сервер: Apache HTTPD через mod_wsgi
- Windows 7 32bit
Работает отлично. Благодарю. – someone