2016-07-23 53 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

您可以給我一個例子嗎?我對此毫無頭緒。 –

相關問題