当前位置: 首页 > 面试题库 >

Django模板{%for%}标签每第4个元素添加一次li

广绪
2023-03-14
问题内容

我需要在模板中表示集合,并在其中包装每四个元素

<li></li>

模板应如下所示:

<ul>
    <li>
         <a></a>
         <a></a>
         <a></a>
         <a></a>
    </li>
    <li>
         <a></a>
         <a></a>
         <a></a>
         <a></a>
    </li>
    <li>
         <a></a>
         <a></a>
         <a></a>
         <a></a>
    </li>
</ul>

因此,我需要在{%for%}中执行此操作

{% for obj in objects %}
 {#add at 1th and every 4th element li wrap somehow#}
    <a>{{object}}</a>
 {# the same closing tag li#}
{% endfor %}

问题答案:

以下应该使用内置模板标签解决你的问题:

<ul>
    <li>
    {% for obj in objects %}
        <a>{{ obj }}</a>

    {# if the the forloop counter is divisible by 4, close the <li> tag and open a new one #}
    {% if forloop.counter|divisibleby:4 %}
    </li>
    <li>
    {% endif %}

    {% endfor %}
    </li>
</ul>


 类似资料:
  • 在ngFor循环中有没有一种简单的方法可以做到这一点?我可以使用ngInit()中的typescript预过滤到3个数组中,也可以使用ngIf和一个模函数,但我希望我可以直接在ngFor循环中进行。

  • 问题内容: 在我看来,要获取如下网址参数: 在我的网址中,我尝试通过这种方式通过网址模板标签传递参数,如下所示: ?之后的参数 显然不起作用,如何传递此数据值以便通过get进行检索? 问题答案: 只需将它们添加到末尾即可: [没有其他可改进的地方,但是在修复代码滴答时出现了一个的错误]

  • 我想以无原子锁的方式使用ConcurrentLinkedQueue: 几个并发线程将事件推送到队列中,其他一些线程将处理它们。队列没有绑定,我不希望任何线程等待或被锁定。然而,阅读部分可能会注意到队列变空了。在无锁实现中,读取线程不能阻塞,只能结束其任务并继续执行其他任务(即作为ExecutorService)。因此,将第一个新事件推送到空队列中的写入程序必须知道它,并且应该重新启动读取器(即,通

  • 我正在尝试学习java流。我能够进行简单的迭代/过滤/映射/收集等。 当我尝试收集每 3 个元素并打印时,如本例所示,[收集每 3 个元素并打印等等......] 输出: 我没有得到任何线索,如何使用流做到这一点。我应该实现自己的收集器来实现这一点吗?

  • 我使用Angular 2.0框架并尝试创建一个输入组件。此外,我使用Google MDL,它的HTML结构需要有标签才能输入。Angular给了我一个例外: 代码如下: 如何解决此问题?

  • 普通标签 普通标签用于变量输出和模板注释,ThinkCMF普通模板标签以{ 和 } 作为开始和结束标识,并且在开始标记紧跟标签的定义,如果之间有空格或者换行则被视为非模板标签直接输出。 例如:{$name} 、{$vo.name} 、{$vo['name']|strtoupper} 都属于正确的标签,而{ $name} 、{ $vo.name}则不属于。 标签库标签 ThinkCMF的标签库默认定