-
-
Save rbtsolis/1db34b7d5a2ce9594f226cae414f9f12 to your computer and use it in GitHub Desktop.
# 1) Create a middlewares/middlewares.py file and copy this: | |
import threading | |
class RequestMiddleware: | |
def __init__(self, get_response, thread_local=threading.local()): | |
self.get_response = get_response | |
self.thread_local = thread_local | |
# One-time configuration and initialization. | |
def __call__(self, request): | |
# Code to be executed for each request before | |
# the view (and later middleware) are called. | |
self.thread_local.current_request = request | |
response = self.get_response(request) | |
# Code to be executed for each request/response after | |
# the view is called. | |
return response | |
#Include Middleware in your settings.py file | |
MIDDLEWARE = [ | |
'middlewares.middlewares.RequestMiddleware', | |
] | |
# models.py or signals.py file | |
from middlewares.middlewares import RequestMiddleware | |
# First we need create an instance of that and later get the current_request assigned | |
request = RequestMiddleware(get_response=None) | |
request = request.thread_local.current_request |
Thank you! This works perfectly!
Very good, but i receved ('_thread._local' object has no attribute 'current_request').
What do i solve? Thanks.
cool
Very good, but i receved ('_thread._local' object has no attribute 'current_request').
What do i solve? Thanks.
Probably doesn't help you anymore, but in case someone else comes across this problem:
For me the problem was that I was still using MIDDLEWARE_CLASSES[] instead of MIDDLEWARE[]
So renaming that solved my problem without breaking my project
Very good, but i receved ('_thread._local' object has no attribute 'current_request').
What do i solve? Thanks.
Hi i'm having the same error. How did we solve it ? I am using MIDDLEWARE¨tupple as suggested by @kalteVollmilch but i's not working
Same trouble
AttributeError: '_thread._local' object has no attribute 'current_request'
Where exaclty in a middlware i need to insert it? Is it possition dependent?
Same problem any solution?
Awesome! works great.
Awesome! works great, thank you.