Уведомления

Группа в Telegram: @pythonsu

#1 Май 16, 2012 09:25:16

svas
От:
Зарегистрирован: 2010-01-27
Сообщения: 239
Репутация: +  9  -
Профиль   Отправить e-mail  

Http403 exception

нашел в документации django такую вещь:

In the same vein as the 404 and 500 views, Django has a view to handle 403 Forbidden errors. If a view results in a 403 exception then Django will, by default, call the view django.views.defaults.permission_denied.

Как я понял можно выкидывать какое-то исключение, похожее на Http404, и будет вызываться view django.views.defaults.permission_denied. Но я нигде не нашел такое исключение. Какое исключение тогда кидать?



Офлайн

#2 Май 16, 2012 09:56:09

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Http403 exception

403 Forbidden — сервер понял запрос, но он отказывается его выполнять из-за ограничений в доступе для клиента к указанному ресурсу.

This view loads and renders the template 403.html in your root template directory, or if this file does not exist, instead serves the text “403 Forbidden”, as per RFC 2616 (the HTTP 1.1 Specification).

It is possible to override django.views.defaults.permission_denied in the same way you can for the 404 and 500 views by specifying a handler403 in your URLconf:

http://mitchfournier.com/2010/07/12/show-a-custom-403-forbidden-error-page-in-django/
http://chronosbox.org/blog/manipulando-erros-http-403-permissao-negada-no-django?lang=en



Офлайн

#3 Май 16, 2012 10:20:54

svas
От:
Зарегистрирован: 2010-01-27
Сообщения: 239
Репутация: +  9  -
Профиль   Отправить e-mail  

Http403 exception

По ссылкам middleware, которые надо включить, чтобы все работало. Я думал, что в 1.4 уже есть исключение (Http403) и что я могу просто написать “raise Http403” и выполнится django.views.defaults.permission_denied.



Офлайн

#4 Май 16, 2012 10:34:10

svas
От:
Зарегистрирован: 2010-01-27
Сообщения: 239
Репутация: +  9  -
Профиль   Отправить e-mail  

Http403 exception

Все, нашел в исходниках. Класс исключения - django.core.exceptions.PermissionDenied



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version