【发布时间】:2015-11-05 07:02:05
【问题描述】:
我正在 Django 应用程序中实现一个通用下拉菜单。在大多数情况下,这些页面是通用的,并且它们具有简单的通用“子”菜单。但是在某些情况下,我希望能够根据页面 slug (page.slug) 包含或呈现一组特殊的子项或来自完全不同模板的自定义内容。
我考虑过实现包含标签,但我不确定如何在模板标签中执行此操作。我知道在视图中你可以这样实现它:
blog_post = get_object_or_404(blog_posts, slug=slug)
...
templates = [u"blog/blog_post_detail_%s.html" % str(slug), template]
return render(request, templates, context)
我的标签设计模式很简单:
- 查看 pages/SLUG/dropdown.html
- 试试 pages/dropdown_SLUG.html
- 如果这些文件都不存在,则不渲染。
如何通过模板标签做到这一点?包含标签是正确的方式,还是 render_tag?
【问题讨论】:
-
那么您是说如果他们是一组特殊的子项,则在下拉菜单中显示它,如果不是,则显示通用下拉菜单。
-
不,基本上我想渲染一个特殊的模板/如果路径存在的话,我想从下拉菜单模板中包含它,例如为可能有额外内容的网站区域渲染一个自定义菜单不仅仅是一棵页面链接树。
标签: python django templates django-templates