Skip to main content

A panel for Django Debug Toolbar (DjDT) to display the current user's permissions.

Project description

Permission panel for Django Debug Toolbar Pypi

License coverage Django versions Python versions

A simple DjDT panel displaying the permissions granted to the current user, how the current user obtained each one of them (directly or through a group membership), and the resulting consolidated permissions set.

djdt-permission_capture

Installation (on top of Django Debug Toolbar)

First, install django-debug-toolbar (instructions here), then:

  1. Install permission panel, either with Pip or Poetry:

    pip install 'git+https://github.com/baudhuina/djdt-permissions.git@1.0.0#egg=djdt_permissions'
    

    or complete your project's pyproject.toml file with XXX TO BE COMPLETED and run poetry install or poetry update.

  2. Add djdt_permission to INSTALLED_APPS, make sure it's below django.toolbar:

    Please note that just as the Debug Toolbar, this panel is not supposed to be installed if 'DEBUG' is False.

    if DEBUG == True:
       INSTALLED_APPS += [
        ...
        'debug_toolbar',
        'djdt_permissions',
        ...
       ]
    
  3. Register the new panel by adding path djdt_permissions.panels.PermissionsPanel to setting DEBUG_TOOLBAR_PANELS (which is entirely conditional to DEBUG). The sequence of the panels defines their order in the toolbar.

    DEBUG_TOOLBAR_PANELS = [
         'djdt_permissions.panels.PermissionsPanel',
         'debug_toolbar.panels.history.HistoryPanel',
         'debug_toolbar.panels.versions.VersionsPanel',
         # ... any other panel.
     ]
    
  4. (optional) If you want the panel to be disabled by default, add its full path in the DEBUG_TOOLBAR_CONFIG[DISABLE_PANELS] set.

    DEBUG_TOOLBAR_CONFIG = {
        "DISABLE_PANELS":  {
             'djdt_permissions.panels.permissions_panelPermissionsPanel',
             # any other panel to disable
         },
        # other config settings.
    ]
    

Usage

The Permission Panel is used just as any other panel of the Django Debug Toolbar:

  • Open DJdT overlay;
  • Enable, disable, consult the panel at will...

Installing the test project

Would you wish to modify/contribute to this project...

NB: The commands below assume that your DJANGO_SETTINGS_MODULEis not set, and that the settings will be the default value from manage.py, i.e.'test_project/settings. If it is set to another value, add a --setings=test_project.settingsoption to allmanage.py` commands.

  1. Fork the GIT repo from GitHub. It contains a Django test project.
  2. Install dependencies: poetry install.
  3. Apply migrations: manage.py migrate.
  4. Run server: manage.py runserver.
  5. Point your browser at http://localhost:8000.

Running the tests

Once the test project is installed (see above), run the tests without coverage measurement:

manage.py test

or with coverage measurement (report will be in coverage_html/index.html):

coverage run -m manage test [-v2]

To run the tests for all supported python and django combinations:

tox

Contact me

alain.baudhuin@skynet.be

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

djdt_permissions-1.0.2.tar.gz (9.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

djdt_permissions-1.0.2-py3-none-any.whl (9.3 kB view details)

Uploaded Python 3

File details

Details for the file djdt_permissions-1.0.2.tar.gz.

File metadata

  • Download URL: djdt_permissions-1.0.2.tar.gz
  • Upload date:
  • Size: 9.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for djdt_permissions-1.0.2.tar.gz
Algorithm Hash digest
SHA256 96f585914856a9c02138894287c405a2d97b6f5945b56192c624a1a169d0aa0a
MD5 57608933a500286082f2cd58b1902361
BLAKE2b-256 6b080d3ef2aec8718c081563e8ed81115afa4bd5f1afc7fb7ba1bb4a78560567

See more details on using hashes here.

File details

Details for the file djdt_permissions-1.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for djdt_permissions-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 8d6cb38126e488d97438f1607cc1dba8c9a224bf07c03193c0a207f4791fa9e9
MD5 874fa9ab6d830adbc4dbe92dae7ab6fe
BLAKE2b-256 cad54afb346775349638a79f2317133530a1413de598e59c63988b37baac4950

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page