I created the middleware simple_middleware()
in middleware/sample.py
following the doc as shown below. *I'm learning Middleware:
django-project
|-core
| └-settings.py
|-middleware
| |-__init__.py
| └-sample.py # Here
|-app1
└-app2
# "middleware/sample.py
def simple_middleware(get_response):
print("Only once the server starts")
def middleware(request):
print("Before a view is called")
response = get_response(request)
print("After a view is called")
return response
return middleware
But, I don't know where to set the custom middleware's path in MIDDLEWARE in settings.py
as shown below. The 1st, the last or anywhere in MIDDLEWARE
?:
# "core/settings.py"
MIDDLEWARE = [
# "middleware.sample.simple_middleware" # The 1st?
"django.middleware.security.SecurityMiddleware",
"django.contrib.sessions.middleware.SessionMiddleware",
"django.middleware.common.CommonMiddleware",
# "middleware.sample.simple_middleware" # Anywhere?
"django.middleware.csrf.CsrfViewMiddleware",
"django.contrib.auth.middleware.AuthenticationMiddleware",
"django.contrib.messages.middleware.MessageMiddleware",
"django.middleware.clickjacking.XFrameOptionsMiddleware",
# "middleware.sample.simple_middleware" # The last?
]
Actually, I know that the doc says below in Activating middleware but I want to know exactly where to set it:
The order in MIDDLEWARE matters because a middleware can depend on other middleware.
So, where should I set the custom middleware's path in MIDDLEWARE
in settings.py
?