限制对象的方法之一是向如下所示的函数添加限制

def ten_objects():
    obj = Model.objects.all()[0:10]  # limit to 10
    return {'objects': obj}

但是,如何在模板内而不是视图内实现这一点呢?

我知道你可以过滤模板中的对象并限制字符,但是你如何限制循环中显示的对象数量呢.通过模板.例如,下面的代码将在所有对象中循环....

    <ul>
     {% for new in news %}
      <li>
       <p>{{ news.title }}</p>
       <p>{{ news.body }}</p>
      </li>
     {% endfor %}
    </ul>

我如何打破循环,比方说在前3个对象/项目之后.以及如何在模板内执行此操作.提前谢谢您.

推荐答案

slice个过滤可以在模板中使用.这与视图中的切片工作方式完全相同.

{% for new in news|slice:":10" %}

Django相关问答推荐

Django:无法分配必须是实例(&Q;X),不想获取对象(&Q;)

我无法在Django模板中使用Get_Foo_Display

Django为什么我的post.count_view递增2?

Django Form标签和action属性

int_list_validator在 Django 表单中不起作用

Django ModelForm提交按钮不起作用

Django ORM 查询优化问题

如何从 django 模板生成静态 html 文件?

try 编辑/创建时,特定模型的 Django 管理员挂起(直到超时错误)

如何将 Django forms.ChoiceField 呈现为 Twitter Bootstrap 下拉菜单

如何在 Django 中向 ModelForm 添加外键字段?

在 django 模板中遇到 user.is_authenticated 问题

AngularJS + Django Rest Framework + CORS(CSRF Coo​​kie 没有出现在客户端)

从表单获取模型实例而不保存

如何在 Django 中测试自定义模板标签?

在 Django 开发服务器中关闭静态文件的缓存

如何在 django 中捕获UNIQUE constraint failed404

基于 User-Agent 更改 Django 模板

Django:根据自定义函数过滤查询

Django 字符串到日期格式