def get_frontend_data_dict_for_cms_page(cms_page, cms_page_title, request, editable=False):
    """
    Returns the data dictionary of a CMS page that is used by the frontend.
    """
    placeholders = list(cms_page.placeholders.all())
    placeholder_frontend_data_dict = get_frontend_data_dict_for_placeholders(
        placeholders=placeholders,
        request=request,
        editable=editable
    )
    global_placeholder_data_dict = get_global_placeholder_data(placeholder_frontend_data_dict)
    data = {
        'containers': placeholder_frontend_data_dict,
        'meta': {
            'title': cms_page_title.page_title if cms_page_title.page_title else cms_page_title.title,
            'description': cms_page_title.meta_description or '',
        }
    }

    language_links = get_language_links(cms_page=cms_page, request=request)
    if language_links:
        data['meta']['languages'] = language_links

    if placeholder_frontend_data_dict:
        data['containers'] = placeholder_frontend_data_dict

    if global_placeholder_data_dict:
        data['global_placeholder_data'] = global_placeholder_data_dict

    post_processer = settings.DJANGOCMS_SPA_CMS_PAGE_DATA_POST_PROCESSOR
    if post_processer:
        func = get_function_by_path(post_processer)
        data = func(cms_page=cms_page, data=data, request=request)

    return data
Returns the data dictionary of a CMS page that is used by the frontend.