【问题标题】:how to get django pagination unique item id across all pages?如何在所有页面上获取 django 分页唯一项目 ID?
【发布时间】:2019-01-27 16:02:47
【问题描述】:

我正在学习如何实现 django 分页。 我想让用户在单击“全部保存”按钮时保存所有更改(无论哪个分页都是整个表单)。但是,当使用 forloop.counter0 时,django 会渲染重复的 forloop 计数器。 如何生成从 0 到 n-1 的连续唯一 ID,以便在 views.py 中,视图可以识别每个项目?谢谢!

{% for thing in things %}
    <tr id="tr-{{ thing.id }}">
        <td style="display:none"><input type="text" name="hidden-id-{{ forloop.counter0 }}" value="{{ thing.id }}"></td>

    </tr>
{% endfor %}

有没有加分页计数器和循环计数器之类的方法?

【问题讨论】:

  • 我正在尝试使用 {{ things.start_index }};希望这可行。

标签: django pagination


【解决方案1】:

经过一些试验和错误: 我发现默认情况下(或者可能总是)django 不允许我们在所有页面(分页)中保存内容。 要在所有页面中生成唯一 ID,我们可以使用 |add 过滤器和 django 自动生成的 start_index 属性。

 {% for thing in things %}
          <tr id="tr-{{ thing.id }}">
            <td style="display:none"><input type="text" name="hidden-id-{{ things.start_index |add:forloop.counter0 }}"  value="{{ thing.id }}"></td>
          </tr>
 {% endfor %}

【讨论】:

    猜你喜欢
    • 2012-02-07
    • 2014-12-29
    • 2022-08-14
    • 1970-01-01
    • 1970-01-01
    • 2019-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多