2017-02-09 7 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は、クエリセットは、あなたのviews.pyファイル内にある場合(article_list場合は代わりに[article for article in article_list if article.published]を試していない場合).filter(published=True)テンプレートのコンテキストを作成するときに

あなただけ追加される場合があります。

あなたはforloopカウンタを知っていて、if文は{% if forloop.counter0 == 4 %}と表示されます。

ところで、これは一般的なDjangoプロパティです。それにはDjangoCMSは必要ありませんでした。 Django docsを参照してください。

関連する問題