2012-10-29 38 views
0

我想在django應用程序中包含n次部分(我剛接觸/學習django)。我在軌道上更有經驗,在那裏我只會寫:如何在django中包含模板n次?

<% 3.times do %> 
    render 'feeds/feature' 
<% end %> 

我想知道如何在django中做類似的事情。以下是我認爲要做到:

{% i = 1%} 
{% for i =< 9 %} 
    {% include 'feeds/feature.html'%} 
    {% i += 1%} 
{% end %} 

然而,這不工作 - 我得到一個模板語法錯誤無效的塊標籤:「我」,預計「端塊」

我可以嵌入蟒成像我在軌道做的Django頁面?而且,更重要的是,我將如何在django中包含feature.html頁面n(或本例中爲9)次?

+1

Partal duplicate:http://stackoverflow.com/questions/1107737/numeric-for-loop-in-django-templates – OptimusCrime

回答

2

只要把範圍的背景下,從視圖,然後:

在視圖:

render_to_response('foo.html', {..., 'range': range(9), ...}, ...) 

在模板:

{% for i in range %} 
    {% include 'feeds/feature.html'%} 
{% endfor %} 

你也可以做這樣的事情:

{% for i in "123456789" %} 
    {% include 'feeds/feature.html'%} 
{% endfor %} 

是的,非常難看。

,也可以定義模板標籤:

Snipet 1

Snipet 2

0

也許我失去了一些東西,但我無法想象的情況是你,我需要這種方式。如果從數據庫的功能列表,並希望顯示它們的一些具體的金額,你可以這樣做:

{% for feature in feature_list|slice:":3" %} 
    {% include "template.html" %} 
{% endfor %} 

或者乾脆寫三篇包括下面。但正如我所說,這不是一種常見的編程模式,可以有更好的解決方案。

相關問題