docs: def get_page_tags_from_request(request, page_lookup, lang, site, title=False):
      """
      Get the list of tags attached to a Page or a Title from a request  from usual
      `page_lookup` parameters.
  
      :param request: request object
      :param page_lookup: a valid page_lookup argument
      :param lang: a language code
      :param site: a site id
      :param title: a boolean to extract the Page (if False) or Title instance
  
      :return: list of tags
      :type: List
      """
      from cms.templatetags.cms_tags import _get_page_by_untyped_arg
      from cms.utils import get_language_from_request, get_site_id
      from django.core.cache import cache
  
      try:
          from cms.utils import get_cms_setting
      except ImportError:
          from cms.utils.conf import get_cms_setting
  
      site_id = get_site_id(site)
      if lang is None:
          lang = get_language_from_request(request)
      cache_key = get_cache_key(request, page_lookup, lang, site, title)
      tags_list = cache.get(cache_key)
      if not tags_list:
          page = _get_page_by_untyped_arg(page_lookup, request, site_id)
          if page:
              if title:
                  tags_list = get_title_tags(page, lang)
              else:
                  tags_list = get_page_tags(page)
              cache.set(cache_key, tags_list, timeout=get_cms_setting('CACHE_DURATIONS')['content'])
      if not tags_list:
          tags_list = ()
      return tags_list