Skip to main content

Lightweight Django Admin plugin to see who is logged in and active. Supports Telize.com, GeoIp , user-agents and django-ipware.

Project description

A lightweight Django Admin plugin showing who’s logged in from where using the cache. Supports Telize, django-ipware, user-agents and GeoIP

Requirements

Optional

Installation

  • Make sure you have Django’s Cache backend set up.

  • Install using pip: pip install django-whoshere

  • Add django_whoshere to INSTALLED_APPS in settings.py:

    INSTALLED_APPS = (
        # other apps
        'django_whoshere',
    )
  • Add django_whoshere.middelware.TrackMiddleware to your MIDDLEWARE_CLASSES. Make sure it comes after your Authentication middleware.

MIDDLEWARE_CLASSES = (
    # other middleware
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
    'django_whoshere.middleware.TrackMiddleware',
   # more middleware
)

Optional

Configuration

No configuration is needed but these settings are provided for convenience:

  • WHOSHERE_TIMEOUT = 300 Sets the timeout for user activity. Defaults to 300 seconds.

  • WHOSHERE_LABEL = 'Active Users' Overrides the admin link label. Defaults to ‘Active Users’

  • WHOSHERE_PREFIX = 'whoshere' Prefix used in cache keys. Defaults to ‘whoshere’.

  • WHOSHERE_TELIZE = True You can set this to ‘False’ to turn off geolocation lookups with Telize. Is always off if GeoIp is installed.

Geolocation

Originally this plugin started with GeoIP support only, but this meant you have to install the rather large database that it comes with. Not a problem if you already use it for other things, but not a lightweight solution if you only use it for WhosHere. As an alternative WhosHere uses the free Telize API over HTTPS by default to find the location of your logged in users. This comes with some caveats:

  • The Telize API is opensource, but you are sending users IP addresses, albeit anonymously, to a third party.

  • Being a free API it can sometimes be unavailable or slow

  • Your server needs HTTPS access to a remote location

You can turn off Telize lookups with WHOSHERE_TELIZE = False in your settings.py or by installing and configuring GeoIP.

Notes

  • Middleware is kept as small as possible and only adds IP and User Agent to the cache for the current logged in user.

  • No database tables are used. Instead WhosHere uses a proxy model of the User model.

  • Proxy models will create migrations but do not affect your database

  • Telize lookups are cached for performance

Todo

  • Add tests

  • Think of other things to add

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-whoshere-0.1.3.tar.gz (6.3 kB view details)

Uploaded Source

File details

Details for the file django-whoshere-0.1.3.tar.gz.

File metadata

File hashes

Hashes for django-whoshere-0.1.3.tar.gz
Algorithm Hash digest
SHA256 eb6887ebdd2132ce922dd738c17c97979bde857d6e95e822726172101f6033e1
MD5 5b6891c7e6f3e4e031357dc857146b40
BLAKE2b-256 ee40397cb4d05af7dc7990a06aebbfe5aa67aeffd5cb789a65261281fc43fdcd

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