I'm not sure what you mean by "before" a request -- the whole request/response cycle is initiated by a request from the client, anything before that is outside the cycle.
There are hooks you can use for when the request has started (but hasn't finished), or after a http response has been sent to the client (docs.djangoproject.com/en/dev/ref/...), but I must say I've never used them. If I needed to be doing that, I'd be writing WSGI middleware instead, or using something like Celery/Django Channels to do a task asynchronously.
yeah been a while since I personally used Django. I think it was beginning of 1.11ish I believe. Just trying to see if there's something comparable to the Masonite middleware example above where its:
--> execute a "before" middleware (cleaning the request, setting some variables on some classes, redirecting for auth, etc)
--> execute the controller method (django view)
--> execute an "after" middleware (setting response headers, setting status code, converting controller method response (i.e dictionary to json converting) etc)
--> execute a "before" middleware (cleaning the request, setting some variables on some classes, redirecting for auth, etc)
You mean like this?
defglobal_auth_middleware(get_response):defmiddleware(request):ifnotrequest.user.is_authenticated:returnredirect('/login/')# before logic here
request.some_property=Property.objects.get(request['HTTP_X_PROPERTY_ID'])returnget_response(request)returnmiddleware
--> execute an "after" middleware (setting response headers, setting status code, converting controller method response (i.e dictionary to json converting) etc)
Could be something like this.
defglobal_auth_middleware(get_response):defmiddleware(request):ifnotrequest.user.is_authenticated:returnredirect('/login/')# 'after' logic here
response=get_response(request)response['X-Custom-Header']='somevalue'returnresponsereturnmiddleware
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
I'm not sure what you mean by "before" a request -- the whole request/response cycle is initiated by a request from the client, anything before that is outside the cycle.
There are hooks you can use for when the request has started (but hasn't finished), or after a http response has been sent to the client (docs.djangoproject.com/en/dev/ref/...), but I must say I've never used them. If I needed to be doing that, I'd be writing WSGI middleware instead, or using something like Celery/Django Channels to do a task asynchronously.
yeah been a while since I personally used Django. I think it was beginning of 1.11ish I believe. Just trying to see if there's something comparable to the Masonite middleware example above where its:
--> execute a "before" middleware (cleaning the request, setting some variables on some classes, redirecting for auth, etc)
--> execute the controller method (django view)
--> execute an "after" middleware (setting response headers, setting status code, converting controller method response (i.e dictionary to json converting) etc)
Thanks though!
Hmm, maybe I'm misunderstanding you, but:
--> execute a "before" middleware (cleaning the request, setting some variables on some classes, redirecting for auth, etc)
You mean like this?
Could be something like this.