Parallax网站和django观点

时间:2015-08-17 18:41:00

标签: python django

我正在尝试将视差模板应用到我的django博客,但我似乎遇到了障碍

class BlogIndex(generic.ListView):
    queryset = models.BlogPost.objects.published()
    template_name = "blog/blogindex.html"
    paginate_by = 5

我在博客应用的观点中有这个观点。

现在的问题是我有四个div我想把这个视图拆分成模板。

    <section class="module parallax parallax-1">
  <div class="container">
    
  </div>
</section>

<section class="module content">
  <div class="container">
 {{ view goes here }}
</section>

<section class="module parallax parallax-2">
  <div class="container">
    
  </div>
</section>

<section class="module content">
  <div class="container">
{{ view goes here }} 
  </div>
</section>

<section class="module parallax parallax-3">
  <div class="container">
    
  </div>
</section>

<section class="module content">
  <div class="container">
 {{ view goes here }}
  </div>
</section>

<section class="module parallax parallax-4">
  <div class="container">
    
  </div>

在每个div中呈现我的博客帖子的最佳方式是什么?

1 个答案:

答案 0 :(得分:0)

您可以通过利用for循环计数器获得所需的效果。

Django&#39; {% for %}模板在循环中生成自定义变量。其中包括:

  • forloop.counter:循环的当前迭代(1索引)
  • forloop.counter0:循环的当前迭代(0索引)
  • forloop.revcounter:循环结束时的迭代次数(1索引)
  • forloop.revcounter0:循环结束时的迭代次数(0索引)
  • forloop.first:如果这是第一次通过循环,则为真
  • forloop.last:如果这是最后一次循环,则为真
  • forloop.parentloop对于嵌套循环,这是围绕当前循环的循环

(通过https://docs.djangoproject.com/en/1.8/ref/templates/builtins/#for

使用您的示例,您可能可以执行此类操作

{% for object in object_list %}
<section class="module parallax parallax-{{ forloop.counter }}">
  <div class="container">

  </div>
</section>

<section class="module content">
  <div class="container">
    {{ object }}
  </div>
</section>
{% endfor %}