需求是,在网站上以随机的匹配逻辑来展现相关文章区域的内容。不同页面之间需要展现不同的内容,但同一个页面上面,需要固定展示某几条匹配内容。
一开始想到的办法是通过 random.seed 实现,但发现并不够用。
import random
docs = [1,2,3]
random.seed(1) # 以当前 doc_id 为 seed
relate_docs = random.sample(docs, 2)
# [1, 3]
当 docs 本身被改变时:
docs = [1,2,3,4]
random.seed(1) # 以当前 doc_id 为 seed
relate_docs = random.sample(docs, 2)
# [2, 3]
我知道这样的结果是合理的,但仍希望找到一种简单的方式,使得在列表变化的时候,输出仍然会是前面的[1,3]
感觉上应该没有特别简单的实现方法,但毕竟目前的解决方案着实不理想。
目前采取的凑合办法,是每一个 doc 的数据库条目里面去写死它需要展现的随机 n 条内容,这实在是太不优雅。现在情况下,初始数据入库、增量数据更新和页面展现几块的代码都得有这个处理流程,给维护也添加了些许麻烦。
我不是专业做技术的,所以问题可能比较小白。尝试搜索无果(这个问题也不容易被几个词来描述),因此提问求教,感谢诸位。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.