/punkweb-insight

Punkweb Insight is a Django application that provides visitor and page view tracking and an analytics dashboard for your Django website.

Primary LanguagePythonBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

Punkweb Insight

Punkweb Insight is a Django application that provides visitor and page view tracking and an analytics dashboard for your Django website.

Built with

Requirements

  • Python 3.9+
  • Django 4.0+

It may work with older versions of Python and Django, but it has not been tested.

Installation

pip install punkweb-insight

Add punkweb_insight to your INSTALLED_APPS in your Django settings module:

INSTALLED_APPS = [
    ...
    "punkweb_insight",
]

Add the following middleware to your MIDDLEWARE in your Django settings module, directly after SessionMiddleware:

MIDDLEWARE = [
    "django.middleware.security.SecurityMiddleware",
    "django.contrib.sessions.middleware.SessionMiddleware",
    "punkweb_insight.middleware.InsightMiddleware", # Directly after SessionMiddleware
]

Add the following URL pattern to your urls.py:

from django.urls import path, include

urlpatterns = [
    ...
    path("insight/", include("punkweb_insight.urls")), # or any other path you want
]

And finally, install the models:

python manage.py migrate

Configuration

These are the default settings for Punkweb Insight, which can be overridden in your Django settings module:

PUNKWEB_INSIGHT = {}

Testing

Report:

coverage run && coverage report

HTML:

coverage run && coverage html