我有一个用 Django 编程的网站,作为网站的一部分,我有一个单独页面的查看计数器。但是,由于我经常测试查看自己的文件,所以我不想计算我给自己的页面的查看次数。
现在,我所做的只是当请求特定页面时,它只是通过将模型中的“视图”变量增加 1 来更新该页面的“视图”变量。这对于我自己的目的来说是可以的 - 我不介意记录多个同一个人的观点——但我根本不希望我自己的观点被计算在内。
有什么方法可以做到这一点?请指教。
我有一个用 Django 编程的网站,作为网站的一部分,我有一个单独页面的查看计数器。但是,由于我经常测试查看自己的文件,所以我不想计算我给自己的页面的查看次数。
现在,我所做的只是当请求特定页面时,它只是通过将模型中的“视图”变量增加 1 来更新该页面的“视图”变量。这对于我自己的目的来说是可以的 - 我不介意记录多个同一个人的观点——但我根本不希望我自己的观点被计算在内。
有什么方法可以做到这一点?请指教。
您可以在浏览器中设置临时 cookie 变量。
例如,在 Chrome 中,您可以使用以下内容或Resources
Web Inspector 上的选项卡:
javascript:document.cookie="my_app_who_am_i=itsa_me_mario"
并使用一些 django 将其拉回来:
request.COOKIES.get('my_app_who_am_i')
或者,如果您已经在 Web 服务器上设置了会话,则只能在您的帐户登录时设置 cookie。
response = render_to_response(template_name, context)
response.set_cookie('my_app_who_am_i', 'itsa_me_mario')
return response
您可以使用会话。例如,当会话是 admin(you) 时,不要计算它。
你可以添加一个像“ignore_view”这样的cookie,如果cookie存在,你就不会增加计数器。