Mercurial > agora-palash
view middleware/http.py @ 35:290dd9208cc4
Implement editing user profiles and fix bugs related to the login/logout buttons. Implement 403 exception
author | Jordi Gutiérrez Hermoso <jordigh@gmail.com> |
---|---|
date | Mon, 05 Jul 2010 00:31:20 -0500 |
parents | |
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))