我发现这些饼干通知,需要遵守欧盟饼干法相当恼人。在大多数网页上使用CSM的保护功能。所以我的想法是只在用户遇到实际包含cookie的页面时显示通知。
我在启用了django.core.context_processors.request
模板上下文处理器的基础模板中尝试了以下代码:
{% if request.COOKIES %}
<!-- Begin Cookie Consent plugin by Silktide - http://silktide.com/cookieconsent -->
<script type="text/javascript">
...
</script>
<script type="text/javascript" src="//s3.amazonaws.com/cc.silktide.com/cookieconsent.latest.min.js"></script>
<!-- End Cookie Consent plugin -->
{% endif %}
这是一种工作,但它不会在设置的同一页面上显示cookie。相反,它会在用户设置后的第一个页面上显示它(也就是说,第一次请求对象时包含一个cookie)。
是否可以让它在实际设置cookie时显示cookie通知?
Cookie实际上是由响应对象设置的,而不是按请求设置的。请求将只接收已在客户端浏览器中设置的cookies。在
另外,一些cookie是由中间件类在
parse_response
方法中设置的。该方法是在处理视图后触发的,因此无法在模板中检索该方法。它将由会话和csrfmddleware在parse_response
中分配。在别忘了将Cookie同意src更新为
//cdnjs.cloudflare.com/ajax/libs/cookieconsent2/1.0.9/cookieconsent.min.js
来源:Important update to users of Cookie Consent 2.0
相关问题 更多 >
编程相关推荐