Skip to main content

No project description provided

Project description

Django-Cookiebanner

Installation

pip install django-cookiebanner

Usage

  • Add cookiebanner to your INSTALLED_APPS

  • in your settings (settings.py) specify the different Cookie Groups:

from django.utils.translation import gettext_lazy as _

COOKIEBANNER = {
    "title": _("Cookie settings"),
    "header_text": _("We are using cookies on this website. A few are essential, others are not."),
    "footer_text": _("Please accept our cookies"),
    "footer_links": [
        {"title": _("Imprint"), "href": "/imprint"},
        {"title": _("Privacy"), "href": "/privacy"},
    ],
    "groups": [
        {
            "id": "essential",
            "name": _("Essential"),
            "description": _("Essential cookies allow this page to work."),
            "cookies": [
                {
                    "pattern": "cookiebanner",
                    "description": _("Meta cookie for the cookies that are set."),
                },
                {
                    "pattern": "csrftoken",
                    "description": _("This cookie prevents Cross-Site-Request-Forgery attacks."),
                },
                {
                    "pattern": "sessionid",
                    "description": _("This cookie is necessary to allow logging in, for example."),
                },
            ],
        },
        {
            "id": "analytics",
            "name": _("Analytics"),
            "optional": True,
            "cookies": [
                {
                    "pattern": "_pk_.*",
                    "description": _("Matomo cookie for website analysis."),
                },
            ],
        },
    ],
}
  • In your base template add the banner and the conditionals:
{% load cookiebanner %}
...
<body>
{% cookiebanner_modal 'vanilla' %}
...

<button onclick="document.querySelector('#cookiebannerModal').classList.remove('hidden')">change cookie preferences</button>

{% cookie_accepted 'analytics' as cookie_analytics %}
{% if cookie_analytics %}
<script>... javascript for matomo ...</script>
{% endif %}
</body>

Custom Template

You can create a custom template and use that instead of the default one.

  • Create a folder cookiebanner/ and a file in one of your templates/-folders, e.g.: templates/cookiebanner/mytemplate.html
  • Use {% cookiebanner_modal 'mytemplate' %}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django_cookiebanner-0.2.8.tar.gz (19.7 kB view details)

Uploaded Source

Built Distribution

django_cookiebanner-0.2.8-py3-none-any.whl (21.7 kB view details)

Uploaded Python 3

File details

Details for the file django_cookiebanner-0.2.8.tar.gz.

File metadata

  • Download URL: django_cookiebanner-0.2.8.tar.gz
  • Upload date:
  • Size: 19.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.4.2 CPython/3.11.2 Linux/6.2.0-20-generic

File hashes

Hashes for django_cookiebanner-0.2.8.tar.gz
Algorithm Hash digest
SHA256 fe2ba06f5199aa88aa37c5f615a9da66db7a8325990535db67ac315d27f5a339
MD5 0e89012ffd902979b4006e4779c02e75
BLAKE2b-256 087531d0e47b632dbe52fa4f1c94de1c6b1e20fb04e7bcab8b4436cd97c7095a

See more details on using hashes here.

File details

Details for the file django_cookiebanner-0.2.8-py3-none-any.whl.

File metadata

File hashes

Hashes for django_cookiebanner-0.2.8-py3-none-any.whl
Algorithm Hash digest
SHA256 4a4f949825f9fd047e0e177a964c49d51bfbc0f0279e9ce0968bc189737a3795
MD5 998f36bd473b9c54e310c7d155d636f1
BLAKE2b-256 8757ff745985fd68e97356f3b978d5b38365ca665f034a326e84023f2877c812

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page