Sometimes, we want to set up custom middleware in Python Django.
In this article, we’ll look at how to set up custom middleware in Python Django.
How to set up custom middleware in Python Django?
To set up custom middleware in Python Django, we create our own class.
For instance, we write
class CustomMiddleware(object):
def __init__(self, get_response):
#...
self.get_response = get_response
def __call__(self, request):
#...
response = self.get_response(request)
return response
def process_view(self, request, view_func, view_args, view_kwargs):
#...
return None
def process_exception(self, request, exception):
#...
return None
def process_template_response(self, request, response):
#...
return response
to create the CustomMiddleware class.
We add the __init__ method to initialize the middleware.
__call__ is called on each request.
process_view is called before Django calls the view.
process_exception is called when a view raises an exception.
And process_template_response is called after the view finished executing.
Then we activate our middleware by putting it in the MIDDLEWARE list in the settings.py file.
We write
MIDDLEWARE = [
# ...
# Add your custom middleware
'path.to.your.middleware.CustomMiddleware',
]
to add our CustomMiddleware class into the list.
Conclusion
To set up custom middleware in Python Django, we create our own class.