0

django テンプレートには係数 (%) がないので、これでサイクルを適用する方法

{% for story in data %}
   {{forloop.counter}}

forloop.counter%4==1 の場合、これを実行する必要があります

    <div class="thumb">
    <a href="#"><img src="{{ STATIC_URL }}images/thumb.jpg" width="185" height="185" /></a>
    </div>
    <div class="thumbFooter">
    <span class="view">
    <a href="#" class="viewIcon">{{ story.views }}</a>
    </span>
    <span class="like">
    <a href="#" class="likeIcon">{{ story.likes }}</a>
    </span>
    </div>

    </li>

forloop.counter%4==2 または 3 の場合、これ

  • 実行する必要があります

        <li>
        <div class="thumb">
        <a href="#"><img src="{{ STATIC_URL }}images/thumb.jpg" width="185" height="185" /></a>
        </div>
        <div class="thumbFooter">
        <span class="view">
        <a href="#" class="viewIcon">{{ story.views }}</a>
        </span>
        <span class="like">
        <a href="#" class="likeIcon">{{ story.likes }}</a>
        </span>
        </div>
        </li>
    

    forloop.counter%4==0 の for ループの場合、これを実行する必要があります

        <li class="omega">
        <div class="thumb">
        <a href="#"><img src="{{ STATIC_URL }}images/thumb.jpg" width="185" height="185" /></a>
        </div>
        <div class="thumbFooter">
        <span class="view">
        <a href="#" class="viewIcon">{{ story.views }}</a>
        </span>
        <span class="like">
        <a href="#" class="likeIcon">{{ story.likes }}</a>
        </span>
        </div>
        </li>
    
        <div class="clear"></div>
    
       {% endfor %}
    
  • 4

    3 に答える 3

    5

    独自のカスタムフィルターを作成できます

    Djangoのtemplatetagsディレクトリに、「mod.py」という名前のファイルを追加します。そのファイルに次のコードを追加します。

    from django import template
    register = template.Library()
    
    def mod(value, arg):
        if value % arg == 0:
            return True
        else:
            return False
    
    register.filter('mod', mod)
    

    テンプレートでは、次のようなmodフィルターを使用します。

    ...
    {% load mod %}
    ...
    <tr bgcolor="{% if forloop.counter|mod:2 %}#cccccc{% else %}#ffffff">
    ... 
    
    于 2012-07-20T10:18:04.503 に答える
    3

    class='omega'4日ごとに欲しいと思います。このようにテンプレートでdjango Cycleを使用し、liforloop

    {% for story in data %}
      <li {% cycle '' '' '' 'class="omega"' %}>
        <div class="thumb">
        <a href="#"><img src="{{ STATIC_URL }}images/thumb.jpg" width="185" height="185" /></a>
        </div>
        <div class="thumbFooter">
        <span class="view">
        <a href="#" class="viewIcon">{{ story.views }}</a>
        </span>
        <span class="like">
        <a href="#" class="likeIcon">{{ story.likes }}</a>
        </span>
        </div>
      </li>
    
        {% cycle '' '' '' '<div class="clear"></div>' %}
    
    {% endfor %}
    
    于 2012-07-20T10:18:56.620 に答える
    2

    または、 divisiblebyフィルターを使用することもできます。addフィルターを使用して、すべての条件を調整することもできます。

    forloop.counter%4==1 の場合、これを実行する必要があります

    {% if forloop.counter|add:"-1"|divisibleby:"4" %}
    

    forloop.counter%4==2 または 3 の場合、これ

    {% if forloop.counter|add:"-2"|divisibleby:"4" or forloop.counter|add:"-3"|divisibleby:"4" %}
    

    そしてadd、4で割り切れるものを使用せずに:

    forloop.counter%4==0 の for ループの場合、これを実行する必要があります

    {% if forloop.counter|divisibleby:"4" %}
    
    于 2013-04-22T17:49:14.363 に答える