django-bigredbutton provides a big red "End All Other Sessions" button in a list of a user's current sessions.
Rendered with a light theme:
Rendered with a dark theme:
It can work with multiple session backends, and includes built-in templates for both django-qsessions and django-user-sessions, and dynamically switches between them depending on which one is identified in settings.SESSION_ENGINE.
- Python: >= 3.11
- Django: >= 4.0
-
Install the latest version:
pip install django-bigredbutton
poetry add django-bigredbutton
-
Add a session backend, like django-qsessions or django-user-sessions. You can use the optional packaging shortcuts:
pip install 'django-bigredbutton[qsessions]'poetry add 'django-bigredbutton[qsessions]'pip install 'django-bigredbutton[user-sessions]'poetry add 'django-bigredbutton[user-sessions]'But there may be additional steps required for each session backend. Refer to the documentation for your session backend package for their installation instructions.
-
Add
bigredbuttontoINSTALLED_APPSin your project'ssettings.py, and optionally setBIGREDBUTTON_DELETE_SUCCESS_URL_NAMEto the URL name of your choice (default:list_sessions). -
Register
bigredbuttonin your projects root URLConf:urlpatterns = [ ... path("account/sessions/", include("bigredbutton.urls")), ... ]
Run Django's development server and navigate to the configured root for
bigredbutton. The URL in these instructions will be
http://localhost:8000/account/sessions/.
You will see a list of all of your current sessions. If you have more than one session (eg: you are signed in on more than one browser or device), you will see a big red "End All Other Sessions" button. That button will sign you out of all of your other sessions.
I have intentionally kept this app very small to minimize the maintenance burden. But contributions are very welcome!
MIT

