Skip to content

yunojuno/django-user-visit

Repository files navigation

django-user-visit

Django app for recording daily user visits

Compatibility

This package supports Python 3.12+ and Django 5.2-6.0.

Upgrading from v1 to v2

v2 added three new denormalised fields extracted from the User Agent string - device, os, browser - to make it easier to analyse directly in the database.

If you want to backfill historical data you will need to run the management command update_user_visit_user_agent_data after the upgrade.


This app consists of middleware to record user visits, and a single UserVisit model to capture that data.

The principal behind this is not to record every single request made by a user. It is to record each daily visit to a site.

The one additional factor is that it will record a single daily visit per session / device / ip combination. This means that if a user visits a site multiple times from the same location / same device, without logging out, then they will be recorded once. If the same user logs in from a different device, IP address, then they will be recorded again.

The goal is to record unique daily visits per user 'context' ( where context is the location / device combo).

Admin list view:

UserVisit list view

Admin edit view:

UserVisit edit view

About

Django app for recording daily user visits

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 6

Languages