middleware.py 913 B

1234567891011121314151617181920212223242526
  1. from django.conf import settings
  2. from django.utils import timezone
  3. from django.utils.translation import ugettext_lazy as _
  4. def set_timezone(new_tz):
  5. if settings.USE_TZ:
  6. try:
  7. import pytz
  8. timezone.activate(pytz.timezone(new_tz))
  9. except ImportError:
  10. pass
  11. class UserMiddleware(object):
  12. def process_request(self, request):
  13. if request.user.is_authenticated():
  14. # Set user timezone
  15. set_timezone(request.user.timezone)
  16. # Display "welcome back!" message
  17. if request.session.remember_me:
  18. request.messages.set_message(_("We have signed you in automatically."), 'info', _("Welcome back, %(username)s!" % {'username': request.user.username}))
  19. else:
  20. # Set guest's timezone
  21. set_timezone(request.settings['default_timezone'])