Python Django:不更改url的分页?
我通过以下链接了解了Django的分页基础知识: 然而!我唯一的问题是我想在不改变url的情况下分页 我的意思是,当一个html页面中有多个表时,我需要对一个表进行分页 如何仅为一张桌子分页 我的代码: 这是html模板的基本结构:Python Django:不更改url的分页?,python,html,django,html-table,pagination,Python,Html,Django,Html Table,Pagination,我通过以下链接了解了Django的分页基础知识: 然而!我唯一的问题是我想在不改变url的情况下分页 我的意思是,当一个html页面中有多个表时,我需要对一个表进行分页 如何仅为一张桌子分页 我的代码: 这是html模板的基本结构: ... <table class="uk-table uk-table-striped"> <tbody>
...
<table class="uk-table uk-table-striped">
<tbody>
{% for post_status in post.statusPage %}
<tr>
<td>{{ post_status.status_time }}</td>
<td>{{ post_status.repost_count }}</td>
<td>{{ post_status.comment_count }}</td>
<td>{{ post_status.like_count }}</td>
</tr>
{% endfor %}
</tbody>
</table>
{% if post.statusPage.has_other_pages %}
<ul class="uk-pagination uk-flex-center" uk-margin>
{% if post.statusPage.has_previous %}
<li><a href="#"><span uk-pagination-previous></span></a></li>
{% else %}
<li><a><span uk-pagination-previous></span></a></li>
{% endif %}
{% for i in post.statusPage.paginator.page_range %}
{% if post.statusPage.number == i %}
<li class="uk-active"><span>{{ i }}</span></li>
{% else %}
<li><a href="#">{{ i }}</a></li>
{% endif %}
{% endfor %}
{% if post.statusPage.has_next %}
<li><a href="#"><span uk-pagination-next></span></a></li>
{% else %}
<li><a><span uk-pagination-next></span></a></li>
{% endif %}
</ul>
{% endif %}
每个帖子都有自己的表格和页码:
post.statusPage
是文章的页面对象。我不知道您想做什么,但您的视图似乎返回了一整套表,您希望用户能够一次查看一个表,只需在其间单击,而不是永远向下滚动。您不希望访问不同的URL,因此这需要在客户端浏览器中处理,这意味着这不是Django问题,因此也不是Django解决方案。(称之为分页,但同时希望所有内容都显示在同一个URL上,从而成为同一个网页,这有点令人困惑。) 从现在开始,最简单的方法可能是切换,即为每个页面创建一个按钮。因此,每个页面都是呈现的,但有选择地呈现。您必须修改那里的小脚本,将所有其他页面设置为隐藏。 很抱歉,对于你的特殊情况,我没有更好的例子。可能有很多更优雅的javascript解决方案,但我不能就此向您提供建议
如果您愿意为下一页发送带有Get请求的QueryString,您可以使用Django完全解决这个问题,方法是创建包含“?param=”类型页码的链接。然后可以从“('param')”获取参数以返回正确的页面。但是,如果您的视图现在返回所有内容,您可能不想开始生成和处理查询字符串。我不知道您想做什么,但您的视图似乎返回了一整套表,您希望用户能够一次查看一个表,只需在其间单击,而不是永远向下滚动。您不希望访问不同的URL,因此这需要在客户端浏览器中处理,这意味着这不是Django问题,因此也不是Django解决方案。(称之为分页,但同时希望所有内容都显示在同一个URL上,从而成为同一个网页,这有点令人困惑。) 从现在开始,最简单的方法可能是切换,即为每个页面创建一个按钮。因此,每个页面都是呈现的,但有选择地呈现。您必须修改那里的小脚本,将所有其他页面设置为隐藏。 很抱歉,对于你的特殊情况,我没有更好的例子。可能有很多更优雅的javascript解决方案,但我不能就此向您提供建议
如果您愿意为下一页发送带有Get请求的QueryString,您可以使用Django完全解决这个问题,方法是创建包含“?param=”类型页码的链接。然后可以从“('param')”获取参数以返回正确的页面。但是如果你的视图现在返回所有的东西,你可能不想进入生成和处理查询字符串。 ,而不是自己构建分页并处理你遇到的复杂性,考虑使用./P>
您可以在一个视图上放置多个表,每个表的分页都是通过javascript处理的,URL中没有实际更改。您可以使用标准的django模板标记将值插入表中,也可以构建一个简单的API(使用或django的库)通过Ajax向表提供数据。这是一个更先进的,但是当你有大量的数据时,它确保你不会马上把它全部发送给用户并占用系统内存。 ,而不是自己构建分页并处理你遇到的复杂性,考虑使用。 您可以在一个视图上放置多个表,每个表的分页都是通过javascript处理的,URL中没有实际更改。您可以使用标准的django模板标记将值插入表中,也可以构建一个简单的API(使用或django的库)通过Ajax向表提供数据。这有点高级,但当您拥有大量数据时,它可以确保您不会同时将所有数据发送给用户并占用系统内存
post.statusPage