擅长:python、mysql、java
<p>Paulo Bu的回答提供了一种方法,可以首先从Django的AP获得随机排序。关于您正在做的事情,最棘手的部分是保存页面加载之间项目的特定随机顺序并不是<a href="http://en.wikipedia.org/wiki/Representational_state_transfer#Constraints" rel="nofollow">RESTful</a>,因为这不是无状态的。默认情况下,您的随机排序查询集将在您提供请求后立即不存在,并且不能保证您将遍历所有项目,而不是获得重复和未命中。所以你要保存订单。有很多方法可以选择:</p>
<ol>
<li>为每个请求提供整个随机化的项目ID列表,并让后端按索引提供当前项目的数据</li>
<li>提供所有数据完整项和条目,然后您可以在客户端呈现所有内容</li>
<li>将随机化列表存储为会话变量</li>
<li>通过向每个项添加一个介于0和1之间的浮点数,在该浮点数上排序,并从随机索引开始(如果您不关心每个用户是否具有相同的总体排列),来存储项的永久随机排序</li>
</ol>