-
-
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.