如何在 weeasyprint 上强制分页?

Lea*_*oob 5 css django django-templates weasyprint

我想知道是否可以创建一个强制中断来分割表行?我认为 weasyprint 在某种意义上做到了这一点,但我想将行分成特定的计数(例如每页 6 行)。那可能吗?我尝试过这样的事情:

<table>
    <tr>
        <th>Header1</th>
        <th>Header2</th>
    </tr>
    {% for d in data %}
        {% if forloop.counter == 6 %}
          <p style="page-break-before: always;"></p>
        {% endif %}
        <tr>
            <td>{{ d.name }}</td>
            <td>{{ d.age }}</td>
        </tr>
    {% endfor %}
</table>
Run Code Online (Sandbox Code Playgroud)

但它只是打破了不同页面中的每一行。任何帮助,将不胜感激。

Lau*_*det 3

尝试在 tr 元素上使用 style 属性,而不添加任何 p 元素:

<table>
    <tr>
        <th>Header1</th>
        <th>Header2</th>
    </tr>
    {% for d in data %}
        <tr
        {% if forloop.counter == 6 %}
          style="break-before: page;"
        {% endif %}
        >
            <td>{{ d.name }}</td>
            <td>{{ d.age }}</td>
        </tr>
    {% endfor %}
</table>
Run Code Online (Sandbox Code Playgroud)

请注意,page-break-before 已被弃用:MDN。另请注意,结果可能不太好,您可能必须添加 margin-top 或其他内容,以及在每个行块的开头和结尾处添加一些边框。