在Django视图中,是否可以通过单击浏览器的后退按钮来检测用户是否带到了页面?
答案 0 :(得分:2)
您还可以在页面中添加无缓存标题,并始终渲染您的网站。
我是通过这样的中间件来实现的:
class MustRevalidate(object):
def process_response(self, request, response):
response['Cache-Control'] = 'no-cache, must-revalidate, no-store'
response['Pragma'] = 'no-cache'
return response
现在你可以查看你的意见中的某个地方.META ['HTTP_REFERER']。
答案 1 :(得分:1)
您可以在服务器端检查request.META['HTTP_REFERER'],但如果浏览器已经在缓存中有一个页面,则它不会执行完整的GET请求 - 它将从其内部缓存中检索页面。 / p>
检测后退按钮单击的唯一选项是通过JavaScript在客户端。有关如何检测事件然后执行所需处理的一些想法,请参阅this StackOverflow post,例如向服务器端发出Ajax调用。