首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在django-tables2 2中,使显示的行数取决于屏幕大小?

在django-tables2 2中,使显示的行数取决于屏幕大小?
EN

Stack Overflow用户
提问于 2018-02-12 18:08:02
回答 1查看 1.3K关注 0票数 5

当使用django-tables2 2时,使用paginate参数来限制显示的行数。例如,如果我有表my_table,那么在views.py中,我将它设置为显示10行,如下所示:

代码语言:javascript
复制
RequestConfig(request, paginate={'per_page':10}).configure(my_table)

我的问题是,在我的应用程序中,我希望每个页面显示的行数取决于用户的屏幕大小。例如,10行用于移动设备,25行用于桌面屏幕。我设想在views.py中使用媒体规则(例如,@media(max-height: 480px) {do something})可以对样式表做些什么。

不幸的是,我(noob)的理解是,在Django中,视图相对地不受屏幕大小等低级别参数的影响。但是,如果django-tables2 2中已经有一个我不知道的简单解决方案,我不想实现一些方案,比如将信息从模板发送到视图。

注意,如果这样做有任何不同,我将使用Bootstrap4作为我的前端。关键是我已经将Javascript和jQuery导入到项目中,至少在模板级别上是这样。

相关一般性讨论

有趣的是,我还没有看到很多关于将表行计数调整为媒体类型的讨论,但显然有大量关于响应媒体敏感设计的一般性讨论:

EN

回答 1

Stack Overflow用户

发布于 2018-02-14 20:55:15

我没有直截了当或完整的解决方案,但我将分享一些想法:

当(最初)呈现表时,Django- table 2无法知道屏幕大小。以下解决办法之一可能满足您的需要:

呈现较少行

在初始页面视图中,如果屏幕大小较小:

  • 隐藏一些行,然后,使用JavaScript调整您为下一个页面请求的偏移量和页数。这将涉及重写分页链接的url参数。
  • 使用添加到url中的per_page的较小数目重新加载页面。
  • 默认情况下呈现较少的行数,并允许用户更改用下拉列表呈现的行数,这对于移动用户来说是隐藏的。

优化模板用于响应性

优化不同屏幕大小的模板,而不是更改行数。在webpack文献中显示的表中可以找到如何工作的示例。不过,使用这种技术,您可能仍然希望更少的小屏幕行。

客户端表排序

如果行总数是合理的,那么将所有内容发送到客户端并将分页推迟到类似可数据之类的内容可能会有效。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48752791

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档