class RequestStackMiddleware(object):
'''
Keeps track of the last 3 succesful requests
'''
def process_response(self, request, response):
if 'requeststack' not in request.session:
request.session['requeststack'] = ['/', '/', request.path]
else:
if request.method == 'GET' and 'text/html' in response.headers['Content-Type']:
stack = request.session['requeststack']
stack = stack[1:] # remove the first item
stack.append(request.path)
request.session['requeststack'] = stack
return response
In a view:
return HttpResponseRedirect(request.session['requeststack'][-1]) # or -2 or -3
Comments