buaa-soft-summer / soft-summer-2022

软件学院《程序设计实践》2022小学期仓库
26 stars 3 forks source link

在django中,怎么实现 局部更新数据表展示的顺序呢? #25

Closed andakai closed 2 years ago

andakai commented 2 years ago

比如有“推荐 热门 时间”这三个导航按钮,点击“时间”后,数据表展示时按照时间的顺序,点击“热门”后,数据表按照浏览量展示。 views.py文件中 image html文件中 image 我了解到有Ajax能实现部分页面的刷新,但只知道能在不刷新页面的时候传递数据,但这种涉及到数据表的能改吗?(实在不行就再多写点页面了 @fish-heshui @LLLeoLi

Yuan-Hou commented 2 years ago

你可以在problem_set函数里面多来一个url参数,表明希望数据怎样排列,然后在后续处理中按照参数进行排序并渲染。网页中相应的按钮直接跳到相应参数的url。

或者,你也可以通过前端的js脚本,在同一个页面中实现,js里关于给列表排序的函数是sort,你可以给它提供一个回调函数来确定偏序关系。

Yuan-Hou commented 2 years ago

实现这个功能不至于使用Ajax,因为你这个程序里,前端一次请求就把所有需要的数据给要回来了,接下来仅仅是展示形式发生了变化。

不刷新而改变页面内容属于ajax里面使用到的一个js的功能,ajax本身是几个技术的合称,常被拿来指代它们结合起来能实现的效果。

想不刷新而改变页面内容,可以参考如何通过JavaScript来查找并修改dom,这属于JavaScript的功能。

Yuan-Hou commented 2 years ago

可以参考这里提到的第二种方法

https://blog.csdn.net/u011138533/article/details/72629728