示例#1
0
def handler404(request):
	title = Title.objects.get(slug='page-not-found').page
	page = Page.get_template(title)
	return HttpResponseNotFound(render_to_string(page))
示例#2
0
def handler500(request):
	title = Title.objects.get(slug='internal-server-error').page
	page = Page.get_template(title)
	return HttpResponseServerError(render_to_string(page))
示例#3
0
def handler500(request):
    title = Title.objects.get(slug='internal-server-error').page
    page = Page.get_template(title)
    return HttpResponseServerError(render_to_string(page))
示例#4
0
def handler404(request):
    title = Title.objects.get(slug='page-not-found').page
    page = Page.get_template(title)
    return HttpResponseNotFound(render_to_string(page))
示例#5
0
    def process_page(page: Page) -> dict:
        _d_lang = {}

        # get values by language
        lang = page.get_languages()

        title = page.get_title()
        menu_title = page.get_menu_title()
        slug = page.get_slug()
        redirect = page.get_redirect()
        meta_description = page.get_meta_description()
        page_title = page.get_page_title()

        for i in range(1, len(lang)):
            c_lang = lang[i]
            _d_lang[c_lang] = {}
            _d_lang[c_lang]['title'] = page.get_title(c_lang)
            _d_lang[c_lang]['menu_title'] = page.get_menu_title(c_lang)
            _d_lang[c_lang]['slug'] = page.get_slug(c_lang)
            _d_lang[c_lang]['redirect'] = page.get_redirect(c_lang)
            _d_lang[c_lang]['meta_description'] = page.get_meta_description(c_lang)
            _d_lang[c_lang]['page_title'] = page.get_page_title(c_lang)

        page_data = {
            'title': title,
            'template': page.get_template(),
            'languages': page.get_languages(),
            'menu_title': menu_title,
            'slug': slug,
            'created_by': 'shop',
            'position': 'first-child',

            'apphook': page.application_urls,
            'apphook_namespace': page.application_namespace,
            'redirect': redirect,
            'meta_description': meta_description,
            'in_navigation': page.in_navigation,
            'soft_root': page.soft_root,
            'reverse_id': page.reverse_id,
            'published': False,
            'login_required': page.login_required,
            'page_title': page_title,
            'navigation_extenders': page.navigation_extenders,
            'is_home': page.is_home,

            'additional_languages': _d_lang,
            'children': [],
            'plugins': {},
        }

        placeholder: Placeholder
        for placeholder in page.get_placeholders():
            if placeholder.get_plugins().count() < 1:
                continue

            plugin_tree = generate_plugin_tree(placeholder)
            page_data['plugins'][placeholder.slot] = plugin_tree  # noqa

        child: Page
        for child in page.get_child_pages():
            # noinspection PyTypeChecker
            page_data['children'].append(PageUtils.process_page(child))

        return page_data