21 lines
578 B
Python
21 lines
578 B
Python
from __future__ import unicode_literals
|
|
|
|
import pytz
|
|
|
|
from django.conf import settings
|
|
from django.utils import timezone
|
|
from django.utils.deprecation import MiddlewareMixin
|
|
|
|
|
|
class TimezoneMiddleware(MiddlewareMixin):
|
|
def process_request(self, request):
|
|
if hasattr(request, 'session'):
|
|
tzname = request.session.get(settings.TIMEZONE_SESSION_KEY)
|
|
else:
|
|
tzname = request.COOKIES.get(settings.TIMEZONE_COOKIE_NAME)
|
|
|
|
if tzname:
|
|
timezone.activate(pytz.timezone(tzname))
|
|
else:
|
|
timezone.deactivate()
|