2017-02-09 43 views
0

這就是我想要的。我不是在談論forloop.counter。我的情況不是forloop.counter,因爲我需要有條件地增加它。如何在django中聲明,初始化和遞增變量模板

<div class="row text-left"> 
/////some counter=0 
    {% for article in article_list %} 

     /////{% if counter == 4 %} 
      </div> 
      <div class="row text-left"> 
     {% endif %} 

     {% if article.published %}enter code here 
    /////// counter++ 
     {% include "aldryn_newsblog/includes/general-article.html" %} 

     {% endif %} 

     {% empty %} 
      <p>{% trans "No items available" %}</p> 
    {% endfor %} 
</div> 
+3

爲什麼你認爲你需要這樣做?爲什麼不在視圖中排除article_list中未發佈的文章? –

+0

由於我是django cms的新手,並且沒有視圖或模型。你能指導我嗎? –

回答

0

據我所知,在Django模板中沒有聲明變量。

您是否想過僅在您的article_list中通過發表的文章。這將避免櫃檯的有條件增加。您的模板不輸出任何未發佈的文章,或者它?

如果您article_list是一個QuerySet在views.py文件,你可能只需要添加.filter(published=True)(如果不是,如果article_list嘗試[article for article in article_list if article.published]在代替)創建模板的上下文時。

你知道的forloop計數器和你的if語句會讀{% if forloop.counter0 == 4 %}

順便說一句,這是一個普通的Django屬性。沒有DjangoCMS需要這個。請參閱Django docs