Skip to content

Latest commit

 

History

History
93 lines (63 loc) · 2.88 KB

README.md

File metadata and controls

93 lines (63 loc) · 2.88 KB

Big Red Button

For Django

pypi pre-commit.ci status tests ci

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:

light_bg

Rendered with a dark theme:

dark_bg

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.

Compatibility

  • Python: >= 3.11
  • Django: >= 4.0

Installation

  1. Install the latest version:

    pip install django-bigredbutton
    poetry add django-bigredbutton
  2. 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.

  3. Add bigredbutton to INSTALLED_APPS in your project's settings.py, and optionally set BIGREDBUTTON_DELETE_SUCCESS_URL_NAME to the URL name of your choice (default: list_sessions).

  4. Register bigredbutton in your projects root URLConf:

    urlpatterns = [
        ...
        path("account/sessions/", include("bigredbutton.urls")),
        ...
    ]

Usage

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.

TODO

I have intentionally kept this app very small to minimize the maintenance burden. But contributions are very welcome!

License

MIT