https://medium.com/coinmonks/the-role-of-middleware-in-django-enhancing-your-web-application-17e7645a1d65