是否可以使用url变量切换模板?像Joomla TMPL =组件切换

时间:2018-04-20 12:38:32

标签: django wagtail

您好我们刚刚安装了Django / Wagtail(不抱怨 - 只是不知道系统!)

开始看模板了。是否有一个简单的机制来关闭chrome(或模板的一部分),就像你可以使用tmpl =组件开关Joomla?

用例是能够在没有菜单项或页脚的情况下快速将内容提取到其他网站等。在我的情况下,我想创建显示内容的弹出模式链接?

有一种简单的方法吗?是否仅仅是在base.html模板中添加内容以关闭内容的情况?

1 个答案:

答案 0 :(得分:0)

您可以使用Page类上的.get_template()方法执行此操作。 See the documentation

看起来像是:

from django.template import loader, TemplateDoesNotExist

class BlogPage(Page):
    ...

    def get_template(self, request):
        custom_template = request.GET.get('template', None)
        if custom_template:
            try:
                loader.get_template(custom_template)
            except TemplateDoesNotExist:
                pass
            else:
                return custom_template
        return super().get_template(request)

现在,您可以访问http://example.com/mypage?template=path/to/template.html

查看包含其他模板的页面