2017-07-26 54 views
1

如果我的對象是 {(title: 'one', content: 'foo'), (title: 'two', content: 'bar')} 我該如何去獲得'爲'和'欄'到我的模板?我有一個對象列表,並希望返回一個屬性與另一個屬性

事情是這樣的:

{% for content in content_list where content.title='one'} 
{{ content.content }} 

在 '富' 由此而來。

{% for content in content_list where content.title='two'} 
{{ content.content }} 

產生'酒吧'。

+0

你爲什麼不使用,如果?? – Exprator

+0

在模板上下文中添加兩個列表會更快,更易於閱讀。 –

回答

2

試試這個 -

{% for content in content_list %} 
    {% if content.title == 'two' %} 
     {{ content.content }} 
    {% else %} 
     {{ content.content }} 
    {% endif %} 
{% endfor %} 

注意:只有在列表很小

+0

嗯,這給出了: TemplateSyntaxError at/ 行114上的塊標記無效:'endfor',預計'endblock'。你忘了註冊或加載這個標籤嗎? 這對我沒有任何意義 – Chris

+0

我在%循環結束時錯過了%}:編輯的代碼 – Vaibhav

0

如果你想分割你的內容在列中,只需爲每種對象創建一個列表並遍歷它們。

在你看來,做這樣的事情:

l1 = [(title: 'one', content: 'foo'),] # All the objects with title 'one' 
l2 = [(title: 'two', content: 'bar'),] # All the objects with title 'two' 
context = {'content_list1': l1, 'content_list2': l2} 

而在你的HTML迭代在每個名單:

{% for content in content_list1 %} 
{{ content.content }} 
{% endfor %} 

{% for content in content_list2 %} 
{{ content.content }} 
{% endfor %} 

我希望這是你在找什麼。

相關問題