# Add Privatus Analytics to Django

> Add cookieless analytics to a Django project with one snippet in base.html and a small context processor that keeps your site id in settings.

Add the snippet to your base template, for example `templates/base.html`,
inside `<head>`:

```django
{% if PRIVATUS_SITE_ID %}
  <script defer src="https://privatusstats.com/js/pa.js" data-site="{{ PRIVATUS_SITE_ID }}" data-modules="engage,auto,vitals,clicks,ask"></script>
{% endif %}
```

Django's `debug` template variable is only set for addresses in
`INTERNAL_IPS`, so use a setting instead. Add a context processor:

```python
# myproject/context_processors.py
from django.conf import settings

def privatus(request):
    return {"PRIVATUS_SITE_ID": getattr(settings, "PRIVATUS_SITE_ID", "")}
```

```python
# settings.py
PRIVATUS_SITE_ID = "" if DEBUG else "pa_YOURSITEID"

TEMPLATES = [{
    # ...
    "OPTIONS": {"context_processors": [
        # ...
        "myproject.context_processors.privatus",
    ]},
}]
```

Every template that extends `base.html` now gets the tag in production only.
Django serves full pages, so each page view is counted once. Add other
options as [attributes](/docs/tracker/attributes).
