gpt4 book ai didi

python - 向用户显示 SQL 数据库中的随机数据的最佳方式?

转载 作者:太空宇宙 更新时间:2023-11-03 18:43:14 25 4
gpt4 key购买 nike

我正在使用 Python (Flask) 开发一个 Web 应用程序,该应用程序本质上以随机顺序显示 PostgreSQL 数据库(通过 Flask-SQLAlchemy)中的用户信息,每组信息都显示在一个页面上。点击“下一步”按钮将通过用新数据替换页面上的所有数据来引导用户到下一组数据,依此类推。

我的难题是使演示文稿真正随机 - 通过记住用户所看到的内容而不是再次向用户显示那些已经看到的数据集来向用户显示相同的信息两次。

该网站没有用户系统,当他们关闭选项卡/窗口或导航离开时,“已看到”的数据集应该会被忘记。

我还应该补充一点,总的来说,我对 SQL 完全是个新手。

最好的方法是什么?

最佳答案

最简单的方法是在客户端用 JavaScript 生成随机数......

告诉客户端最大的行号是多少,然后客户端页面会跟踪它请求的 id(只是一个简单的 js 数组)。然后,当单击“请求下一个随机页面”按钮时,它会生成一个小于最高有效行 ID 的新随机数,并且假设该数字不在其之前查看过的项目列表中,它将发送该请求项目。

这样,您(在服务器上)只需拥有 2 个数据库访问 View :

  1. 主页(给出js和最高有效行id)
  2. 显示一个项目(按 ID)

您没有任何复杂的 session 跟踪,并且用户的浏览器只需要跟踪一个简单的数字列表,即使他们亲自查看数千个不同的项目,该数字仍然只有一两个兆内存。

出于性能原因,您甚至可以在当前项目加载后立即预取下一个项目,以便它立即显示并在用户查看时在后台加载下一个项目。 (jQuery .load() 是你的 friend :-) )

如果您希望从数据库中删除大量项目(因此最大数量没有帮助),那么您可以生成一个随机 id 列表,发送该列表,然后一次请求一个。可以说是预先生成随机列表。

希望这有帮助! :-)

关于python - 向用户显示 SQL 数据库中的随机数据的最佳方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20072309/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com