2016-07-23 56 views
2

我有这个在我的djangocms页面模板的顶部我可以在条件扩展页面中使用djangocms插件吗?

{% extends request.user.is_authenticated|yesno:"member_template.html,base.html" %} 

我的插件没有与此设置工作。但如果我这样做

{% extends "member_template.html" %} 

我的插件工作。有没有办法解决这个问题?我想要有条件的。

+0

你有没有想过这件事? http://stackoverflow.com/a/5381015/1757321 – Rexford

回答

2

假设您在视图中使用了渲染。

if request.user: base_file = "member_template.html" 
else: base_file = base.html 
render(request,'my_html.html', 
       {'base_file' : base_file}) 

然后您扩展标记看起来像:

{% extends base_file %} 
0

难道你不能只是把一个if语句?

{% if user.is_authenticated %} {% extends "member_template.html" %} 
{% else %} {% extends "base.html" %} 
{% endif %} 
+0

不,模板中的第一行必须扩展。如果我按照你的建议做了,它会给出错误。 –

+0

是的,对不起。但扩展也需要立即跟随它扩展的文件或一个变量评估文件,所以你需要一个标签或将其包含在上下文中 – HenryM

+0

您可以给我一个例子吗?我对此毫无头绪。 –

相关问题