2. Create python file name "__init__.py and "threadlocals.py" in "middleware" directory.
3. in side "threadlocals.py" copy this code
# threadlocals middleware
try:
from threading import local
except ImportError:
from django.utils._threading_local import local
_thread_locals = local()
def get_current_user():
return getattr(_thread_locals, 'user', None)
class ThreadLocals(object):
"""Middleware that gets various objects from the
request object and saves them in thread local storage."""
def process_request(self, request):
_thread_locals.user = getattr(request, 'user', None)
4. in "settings.py" add "project_name.middleware.threadlocals.ThreadLocals" to the MIDDLEWARE_CLASSES variable.
5. using like this
from project_name.middleware import threadlocals
user = threadlocals.get_current_user()
For more information >> Go to CookBookThreadlocalsAndUser
1 comment:
This is not working for reason - always get "None" for the user... any ideas?
Post a Comment