from django.http import HttpResponseRedirect class AdminRedirectMiddleware: """ allows you to customize redirects with the GET line in the admin """ def process_response(self, request, response): # save redirects if given if request.method == "GET" and request.GET.get("next", False): request.session["next"] = request.GET.get("next") # apply redirects if request.session.get("next", False) and \ type(response) == HttpResponseRedirect and \ request.path.startswith("/admin/"): path = request.session.get("next") del request.session["next"] return HttpResponseRedirect(path) return response