Django 检测用户在单击“上一步”按钮时是否转到页面

Django 检测用户在单击“上一步”按钮时是否转到页面,django,Django,在Django视图中,是否可以通过单击浏览器的“后退”按钮来检测用户是否进入页面?您可以在服务器端进行检查,但如果浏览器缓存中已经有页面,它不会执行完整的GET请求-它将从其内部缓存中检索页面 检测后退按钮点击的唯一选项是通过JavaScript在客户端。有关如何检测事件,然后执行所需的任何处理(如对服务器端进行Ajax调用)的一些想法,请参阅。您还可以在页面中添加无缓存标头,并始终呈现站点 我通过如下中间件实现: class MustRevalidate(object): def pro

在Django视图中,是否可以通过单击浏览器的“后退”按钮来检测用户是否进入页面?

您可以在服务器端进行检查,但如果浏览器缓存中已经有页面,它不会执行完整的GET请求-它将从其内部缓存中检索页面


检测后退按钮点击的唯一选项是通过JavaScript在客户端。有关如何检测事件,然后执行所需的任何处理(如对服务器端进行Ajax调用)的一些想法,请参阅。

您还可以在页面中添加无缓存标头,并始终呈现站点

我通过如下中间件实现:

class MustRevalidate(object):
   def process_response(self, request, response):
     response['Cache-Control'] = 'no-cache, must-revalidate, no-store'
     response['Pragma'] = 'no-cache'
     return response

现在,您可以在views request.META['HTTP\u REFERER']中的某个位置进行检查。

通常,当用户单击后退按钮时,浏览器会直接从缓存中取出页面,而不会再次访问服务器。我认为在JavaScript中检测到这一点是一个更好的选择。