在 Django 视图中,是否可以通过单击浏览器的后退按钮来检测用户是否进入页面?
问问题
1117 次
2 回答
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
现在您可以检查您的视图 request.META['HTTP_REFERER'] 中的某处。
于 2013-10-25T11:00:35.977 回答
1
您可以在服务器端检查request.META['HTTP_REFERER'],但如果浏览器已经在缓存中有一个页面,它不会执行完整的 GET 请求 - 它会从其内部缓存中检索页面。
检测后退按钮点击的唯一选择是通过 JavaScript 在客户端。有关如何检测事件然后执行所需的任何处理(例如对服务器端进行 Ajax 调用)的一些想法,请参阅此 StackOverflow 帖子。
于 2013-10-25T10:55:39.850 回答