django – 在URL中“嵌入”页码的最佳方法是什么?
我正在使用Django开发一个博客应用程序.目前,URL / blog /显示博客的首页(前五个帖子).然后,访问者可以浏览或“翻阅”博客条目.此部分映射到/ blog / browse / {page} /,其中页面当然是一个整数,指定应显示哪些“页面”的博客条目.
但是,我想到,或许“页码”应该是查询字符串的属性(例如,/ blog / browse /?page = 2),因为浏览页面的内容不是静态的(即,我添加另一篇文章后,/ blog / browse / 2 /会有比添加帖子之前的内容不同的内容.这似乎是像Stack Overflow和Reddit这样的网站做事的方式.例如,在Stack Overflow上查询问题时,使用“page” attribute;同样,Reddit使用“count” attribute. 扩展这个想法,我意识到我使用相同的模板来呈现/ blog /和/ blog / browse /的内容,所以甚至可以使用像/ blog /?page = 2这样的URL来翻页博客的内容. 有什么建议?是否采用“标准”方式,或者至少采用“最佳实践”方法? 解决方法
我更喜欢使用GET URL参数,如URL?pg =#.这是非常常见的,并为用户提供有关正在发生的事情的标准视觉线索.例如,如果我想为其中一个页面添加书签或创建一个外部链接,我知道我可以放弃pg参数指向“最新”的首页索引.使用嵌入式#,这不是那么明显……我是否省略了参数?我总是要把它设置为1吗?它完全是一个不同的基本URL吗?对我来说,通过GET参数进行分页会产生稍微更合理的URL,因为如果省略参数并且参数不影响基本URL,则存在可接受的默认值.
此外,虽然我无法证明这一点,但它给了我温暖的模糊感觉,谷歌有更好的机会弄清楚该网页内容的性质(即它是进一步数据的分页索引,并且可能经常更新)相对于嵌入在URL中的页面#,这将更加不透明. 也就是说,我认为这是99%的个人偏好,我高度怀疑是否存在任何真正的功能差异,所以请选择更容易,更适合当前的做事方式. 编辑:忘了提到我的观点是特定于Django …我有一些Django应用程序,所以我对他们构建URL的方式比较熟悉,我仍然使用“pg”GET参数与这些应用程序而不是嵌入它直接在URL中. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |