django/tests/middleware_exceptions/views.py

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

40 lines
1.0 KiB
Python
Raw Normal View History

from django.core.exceptions import PermissionDenied
from django.http import HttpResponse
from django.template import engines
from django.template.response import TemplateResponse
def normal_view(request):
return HttpResponse("OK")
def template_response(request):
template = engines["django"].from_string(
"template_response OK{% for m in mw %}\n{{ m }}{% endfor %}"
)
return TemplateResponse(request, template, context={"mw": []})
def server_error(request):
raise Exception("Error in view")
def permission_denied(request):
raise PermissionDenied()
def exception_in_render(request):
class CustomHttpResponse(HttpResponse):
def render(self):
raise Exception("Exception in HttpResponse.render()")
return CustomHttpResponse("Error")
async def async_exception_in_render(request):
class CustomHttpResponse(HttpResponse):
async def render(self):
raise Exception("Exception in HttpResponse.render()")
return CustomHttpResponse("Error")