Mercurial > agora-palash
view middleware/http.py @ 213:6f285552a9d0 default tip
Remove requirement to be logged in to see comments
author | Jordi Gutiérrez Hermoso <jordigh@octave.org> |
---|---|
date | Thu, 16 Jan 2014 10:59:05 -0500 |
parents | 290dd9208cc4 |
children |
line wrap: on
line source
from django.template import RequestContext from django.conf import settings from django.core.exceptions import PermissionDenied from django.http import HttpResponseForbidden from django.template import loader class Http403(Exception): pass def render_to_403(*args, **kwargs): """ Returns a HttpResponseForbidden whose content is filled with the result of calling django.template.loader.render_to_string() with the passed arguments. """ if not isinstance(args,list): args = [] args.append('403.html') httpresponse_kwargs = {'mimetype': kwargs.pop('mimetype', None)} response = HttpResponseForbidden(loader.render_to_string(*args, **kwargs), **httpresponse_kwargs) return response class Http403Middleware(object): def process_exception(self,request,exception): if isinstance(exception,Http403): return render_to_403(context_instance=RequestContext(request))