django-cookie-control

Django plugin to add and configure the Cookie Control by Civic UK


License
MIT
Install
pip install django-cookie-control==4.0.1

Documentation

django-cookie-control

A Django plugin to integrate the Civic UK Cookie Control (https://www.civicuk.com/cookie-control)

The plugin is compatible with Django, DjangoCMS and Django/CMS multisite.

Updates

  • 2023-03-13 Remove deprecated NullBooleanField
  • 2020-08-21 Version 4.x + Updated to use Cookie Control version 9.x

To install

Install the application via pip:

pip install django-cookie-control

Add 'django_cookie_control' to installed apps:

INSTALLED_APPS = [ ... 'django_cookie_control', ...]

Add/Edit the following to settings.py if required with required cookies:

# DEFAULT if missing:
COOKIE_CONTROL_REQUIRED_COOKIES = ['csrftoken','django_language','sessionid','django_privacy_mgmt_preferences','AWSALB']

Run or make migrations:

python.exe manage.py migrate

To configure

For a full list of configuration settings see the Civic UK site, here:

https://www.civicuk.com/cookie-control/documentation

Plugin configuration overview:

  1. Add a new configuration:

  2. Configure Main Settings:

    • Site name
    • API key
    • Cookie Control product version: Community, Pro, Pro Multisite

  3. Settings:

    https://www.civicuk.com/cookie-control/documentation#configuration-options

    • consentCookieExpiry
    • statement
    • logConsent
    • encodeCookie
    • subDomains

  4. IAB/CCPA Frameworks:

    https://www.civicuk.com/cookie-control/documentation#iab

    • mode
    • publisherCC
    • iabCMP
    • iabConfig
    • iabText
    • ccpaConfig

  5. Appearance and Behaviour:

    https://www.civicuk.com/cookie-control/documentation#customising

    • All other settings

  6. Accessibility:

    https://www.civicuk.com/cookie-control/documentation#accessibility-object

    • Determines the accessibility helpers available, such as the accesskey and keyboard focus style.
  7. Cookies:

    https://www.civicuk.com/cookie-control/documentation#purpose-object

    • Necessary Cookies
      • A simple list of cookie names, including wildcards that are necessary for the site
      • A default list for Django, DjangoCMS, and AWS are already included.
    • Optional Cookies
      • Add an optional cookie or package of cookies that can be turned off for the site
      • Using separate functions On Accept or for On Revoke the cookies can be customised to be disable or enabled.