PythonFlaskcookie同意

2024-04-25 21:13:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我想设置一个横幅,请求允许在我的网站上存储cookie(因为GDPR)。我试过like this: HTML:

{% block cookies %}
        {% if cookies_check %}
        {% else %}
          <div class="fixed-bottom p-4" id="cookie-consent-container">
              <div class="toast bg-dark text-white w-100 mw-100" role="alert">
                  <div class="toast-body p-4 d-flex flex-column">
                      <h4>Cookie Warning</h4>
                      <p>
                      This website stores data such as cookies to enable site functionality including analytics and personalization. By using this website, you automatically accept that we use cookies. 
                      </p>
                      <div class="ml-auto">
                        <button type="button" class="btn btn-outline-light mr-3" id="btnDeny">
                            Deny
                        </button>
                        <button type="button" class="btn btn-light" id="btnAccept">
                            Accept
                        </button>
                      </div>
                  </div>
              </div>
          </div>
          <script>
            var fn = function () {
                document.cookie = "cookie_consent=true";
                document.getElementById('cookie-consent-container').hidden = true;
            };
            document.getElementById('btnAccept').onclick = fn;
          </script>
        {% endif %}
      {% endblock cookies %}

金甲2号

@app.context_processor
def inject_template_scope():
    injections = dict()
    print(injections)

    def cookies_check():
        value = request.cookies.get('cookie_consent')
        print(value)
        return value == 'true'
    injections.update(cookies_check=cookies_check)

    return injections

print用于调试。问题是列表总是空的,横幅永远不会显示。我该怎么做才能让它工作?这是否意味着网站一开始就没有生成任何cookie?如果是这样,我如何在加载站点时添加cookie


Tags: dividtruevaluecookiecheckbuttondocument
1条回答
网友
1楼 · 发布于 2024-04-25 21:13:47

可以使用document.cookie添加、读取和删除cookie

document.cookie = "username=John Doe; expires=Thu, 18 Dec 2013 12:00:00 UTC";

默认情况下,浏览器关闭后删除cookie

相关问题 更多 >