code: def get_country_from_request(request):
      
      if hasattr(request, 'session'):
          country_code = request.session.get(COUNTRY_SESSION_KEY)
          if country_code:
              return get_supported_country(country_code)
  
      country_code = request.COOKIES.get(COUNTRY_COOKIE_NAME)
      if country_code:
          return get_supported_country(country_code)
  
      if USE_GEOIP:
          ip = _extract_ip_address(request.META)
          country_code = _geo.country_code_by_addr(ip)
          if country_code:
              return get_supported_country(country_code)
  
      if USE_LOCALE:
          accept = request.META.get('HTTP_ACCEPT_LANGUAGE', '')
          for accept_lang, _ in trans_real.parse_accept_lang_header(accept):
              if LANG_COUNTRY_DELIM in accept_lang:
                  country_code = accept_lang.split(LANG_COUNTRY_DELIM)[-1]
                  if country_code:
                      return get_supported_country(country_code)
  
      return DEFAULT_COUNTRY_CODE
docs: Analyzes the request to find which country the user wants
      the system to recognize. It checks the following sources
      in the given order:
      * session,
      * cookie,
      * HTTP_ACCEPT_LANGUAGE HTTP header, and
      * IP address if USE_GEOIP is True.
  
      It returns country code in ISO 3166-1 alpha-2 format.