Is the set_cookie variable the correct way to signal that the cookie should be set? It does not seems pythonic to me:cookie = request.COOKIES.get(TIMEZONE_COOKIE_NAME)set_cookie = Falseif cookie and cookie in pytz.all_timezones_set:    timezone.activate(pytz.timezone(cookie))elif request.ip:    geo = GeoIP2()    try:        time_zone = geo.city(request.ip).time_zone        if time_zone:            timezone.activate(pytz.timezone(time_zone))            set_cookie = True    except GeoIP2Error:        self.logger.warning('Could not determine time zone of ip address: %s', request.ip)response = self.get_response(request)if set_cookie:    response.set_cookie(TIMEZONE_COOKIE_NAME, time_zone)return response
Set time zone from cookie
python;datetime;http;django;geospatial
Edit: Well my previous suggestions don't work with the fact thatget_response has to be called with the correct timezone active.Is the time_zone attribute from GeoIP2 always compatible withpytz btw.?Perhaps the following would work, verifying the cookie value only onceand discarding it if it doesn't fit:cookie = request.COOKIES.get(TIMEZONE_COOKIE_NAME)if cookie not in pytz.all_timezones_set:    cookie = Noneif not cookie and request.ip:    try:        cookie = GeoIP2().city(request.ip).time_zone    except GeoIP2Error:        self.logger.warning('Could not determine time zone of ip address: %s', request.ip)if cookie:    timezone.activate(pytz.timezone(cookie))response = self.get_response(request)if cookie:    response.set_cookie(TIMEZONE_COOKIE_NAME, cookie)return responseSo, downside is a lot of mentions of cookie, upside is that it's notmore costly what you had before and the call to set the timezone is onlythere once.Last point, if anything like this happens to be needed more than once,put it into separate functions.  This snippet is a bit short to makethat call.