您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

分页Django表单POST请求的结果

分页Django表单POST请求的结果

如果要在以后的请求中访问存储数据,则必须将其存储在某个位置。Django提供了几种存档方法

每个访问您的站点的访问者都会得到一个空的会话对象,您可以在该对象内存储所需的任何内容,这就像字典一样。缺点:单个访客不能同时进行分页多次搜索

如果您设置了存储在客户端的cookie,浏览器会将cookie的数据附加到您可以访问它的每个请求中。Cookies对服务器更友好,因为您不需要在服务器上使用会话管理器,但cookie中存储的数据对客户端可见(并可编辑)。缺点:和以前一样。

您可以在搜索结果页面添加带有一些隐藏字段的表单,并将查询存储在其中。然后,每当您提交表单时,客户端都会重新发送查询。缺点:您必须使用带有提交按钮的表单来在页面上进行分页(简单链接无法使用)。

除了使用POST,还可以使用GET。例如,您可能有一个类似的链接"/search/hello+world/?order=Votes"一个类似的“分页链接"/search/hello+world/2/?order- Votes"。然后可以从URL轻松检索查询。缺点:您可以通过GET发送的最大数据量是有限的(但是对于简单的搜索而言这不是问题)。

您可能希望将所有数据存储在会话或数据库中,并通过生成的密钥(可将其放入URL)访问它们。然后,URL可能看起来像“/search/029af239ccd23/2"(对于第二页),并且您可以使用该密钥访问之前存储的大量数据。这消除了解决方案1和解决方案4的缺点。工作:)

使用Ajax,您可以将数据存储在客户端的一些js变量内,然后可以将其传递给其他请求。而且由于ajax只会更新您的结果列表,因此变量不会丢失

Go 2022/1/1 18:27:57 有329人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶