class Redirect(Exception): def __init__(self, url): self.url = url # where request is not: raise Redirect(reverse('someurl')) # redirect handler, where request is: from django.http import HttpResponseRedirect try: return something(request, ...) except Redirect, r: return HttpResponseRedirect(r.url)