An improved django-admin-tools dashboard for Django projects

Overview

django-fluent-dashboard

The fluent_dashboard module offers a custom admin dashboard, built on top of django-admin-tools (docs).

The django-admin-tools package provides a default mechanism to replace the standard Django admin homepage with a widget based dashboard. The fluent_dashboard module extends this, by providing additional widgets (called "modules") such as:

  • a "icon list" module for the admin homepage.
  • a "welcome" module for the admin homepage.
  • a configurable module layout for the admin homepage, through settings.py.
  • a "return to site" link.
  • an optional "cache statistics" module.

Documentation can be found at: https://django-fluent-dashboard.readthedocs.io/

Screenshot

django-fluent-dashboard preview

Installation

First install the module, preferably in a virtual environment. It can be installed from PyPI:

pip install django-fluent-dashboard

Or the current folder can be installed:

pip install .

Configuration

Add the following settings to settings.py:

INSTALLED_APPS += (
    'fluent_dashboard',

    # enable the admin
    'admin_tools',
    'admin_tools.theming',
    'admin_tools.menu',
    'admin_tools.dashboard',
    'django.contrib.admin',
)

ADMIN_TOOLS_INDEX_DASHBOARD = 'fluent_dashboard.dashboard.FluentIndexDashboard'
ADMIN_TOOLS_APP_INDEX_DASHBOARD = 'fluent_dashboard.dashboard.FluentAppIndexDashboard'
ADMIN_TOOLS_MENU = 'fluent_dashboard.menu.FluentMenu'

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': (),
        'OPTIONS': {
            'loaders': (
                ...
                'admin_tools.template_loaders.Loader',  # Add this line!
            ),
        }
    }
]

The admin_tools.theming and admin_tools.menu applications are optional.

Add to urls.py:

urlpatterns += [
    url(r'^admintools/', include('admin_tools.urls')),
]

The database tables for admin_tools can be created afterwards:

./manage.py migrate

Customizing the dashboard

Adding extra icons

The FLUENT_DASHBOARD_APP_ICONS setting is a dictionary that allows you to define extra icons for your own modules, and overwrite default settings. For example:

FLUENT_DASHBOARD_APP_ICONS = {
    'auth/user': "user.png"
}

The icon is expected to be 48x48 pixels. The icon name is treated in 3 different formats:

  • Absolute URLs are passed as-is.
  • Icon names with a / character, are relative to the STATIC_URL.
  • Icon names without any path information, are relative to the current theme folder, e.g. STATIC_URL/fluent_dashboard/themename/

Organizing the application groups

The FLUENT_DASHBOARD_APP_GROUPS setting defines which applications are grouped. For example:

FLUENT_DASHBOARD_APP_GROUPS = (
    (_('CMS'), {
        'models': (
            'cms.*',
            'pages.*',
            'fiber.*',
        ),
        'module': 'CmsAppIconList',
        'collapsible': False,
    }),
    (_('Interactivity'), {
        'models': (
            'django.contrib.comments.*',
            'form_designer.*'
            'threadedcomments.*',
            'zinnia.*',
        ),
    }),
    (_('Administration'), {
        'models': (
            'django.contrib.auth.*',
            'django.contrib.sites.*',
            'google_analytics.*',
            'registration.*',
        ),
    }),
    (_('Applications'), {
        'models': ('*',),
        'module': 'AppList',
        'collapsible': True,
    }),
)

Details about these options, and additional settings are explained in the documentation.

Displaying cache status

This application features optional support for the dashboardmods package, which can display cache statistics. It can be installed using:

pip install dashboardmods

The application requires the cache backends to be configured, for example:

INSTALLED_APPS += (
    'dashboardmods',
)

# Example Memcache configuration:
CACHES = {
    'default': {
        'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
        'KEY_PREFIX': 'mysite.production',
        'LOCATION': '127.0.0.1:11211',
        'TIMEOUT': 24*3600,
    },
}

# Optional, example Varnish configuration:
VARNISH_MANAGEMENT_ADDRS = ('127.0.0.1:6082',)

When a cache is not configured, it will simply not be displayed by the module.

Related applications

The following packages provide additional modules, which can be displayed at the dashboard:

  • django-admin-user-stats adds graphs to the dashboard, to see the number of registered users in the last month.
  • django-admin-tools-stats is derived from the previous package, and adds configurable graphs for any model type.
  • dashboardmods is detected to display cache statistics, but also features a configure RSS feed module.
  • django-admin-tools should not be forgotten, because it also provides modules for RSS feeds, link lists and tab grouping.

These modules can be integrated by subclassing the FluentIndexDashboard class, and point to that module with the ADMIN_TOOLS_INDEX_DASHBOARD setting.

Contributing

This module is designed to be generic. In case there is anything you didn't like about it, or think it's not flexible enough, please let us know. We'd love to improve it!

If you have any other valuable contribution, suggestion or idea, please let us know as well because we will look into it. Pull requests are welcome too. :-)

Comments
  • Can i exclude some models from FLUENT_DASHBOARD_APP_GROUPS?

    Can i exclude some models from FLUENT_DASHBOARD_APP_GROUPS?

    This is not a bug, but a new-feature request (if not implemented) As i have written in the title, can i exclude some models from FLUENT_DASHBOARD_APP_GROUPS?

    FLUENT_DASHBOARD_APP_GROUPS = ( (gettext('Administration'), { 'models': ( 'django.contrib.auth.', 'django.contrib.sites.', ), 'collapsible': True, }), (gettext('Poll Management'), { 'models': ( 'project.apps.news.*', 'project.apps.polls.poll', # This does not display anything ), 'collapsible': True, }), )

    I can't see an help in the documentation Thanks in advance

    opened by madEng84 3
  • IntegrityError at /admin/report_builder/report/add/

    IntegrityError at /admin/report_builder/report/add/

    Request Method: POST Request URL: https://xx.xx.xx.xx/admin/report_builder/report/add/ Django Version: 1.6 Exception Type: IntegrityError Exception Value:
    (1048, "Column 'distinct' cannot be null") Exception Location: /usr/lib64/python2.6/site-packages/MySQLdb/connections.py in defaulterrorhandler, line 36 Python Executable: /usr/bin/python Python Version: 2.6.9 Python Path:
    ['/usr/lib64/python26.zip', '/usr/lib64/python2.6', '/usr/lib64/python2.6/plat-linux2', '/usr/lib64/python2.6/lib-tk', '/usr/lib64/python2.6/lib-old', '/usr/lib64/python2.6/lib-dynload', '/usr/lib64/python2.6/site-packages', '/usr/lib64/python2.6/site-packages/PIL', '/usr/lib/python2.6/site-packages', '/opt/smarti/dashboard/'] Server time: Mon, 25 Nov 2013 22:53:30 +0530

    Environment:

    Request Method: POST Request URL: https://54.200.87.254/admin/report_builder/report/add/

    Django Version: 1.6 Python Version: 2.6.9 Installed Applications: ('django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', 'django.contrib.messages', 'django.contrib.staticfiles', 'django.contrib.admin', 'django.contrib.admindocs', 'management', 'report_builder') Installed Middleware: ('django.middleware.common.CommonMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware')

    Traceback: File "/usr/lib/python2.6/site-packages/django/core/handlers/base.py" in get_response

    1.                 response = wrapped_callback(request, _callback_args, *_callback_kwargs)
      
      File "/usr/lib/python2.6/site-packages/django/contrib/admin/options.py" in wrapper
    2.             return self.admin_site.admin_view(view)(_args, *_kwargs)
      
      File "/usr/lib/python2.6/site-packages/django/utils/decorators.py" in _wrapped_view
    3.                 response = view_func(request, _args, *_kwargs)
      
      File "/usr/lib/python2.6/site-packages/django/views/decorators/cache.py" in _wrapped_view_func
    4.     response = view_func(request, _args, *_kwargs)
      
      File "/usr/lib/python2.6/site-packages/django/contrib/admin/sites.py" in inner
    5.         return view(request, _args, *_kwargs)
      
      File "/usr/lib/python2.6/site-packages/django/utils/decorators.py" in _wrapper
    6.         return bound_func(_args, *_kwargs)
      
      File "/usr/lib/python2.6/site-packages/django/utils/decorators.py" in _wrapped_view
    7.                 response = view_func(request, _args, *_kwargs)
      
      File "/usr/lib/python2.6/site-packages/django/utils/decorators.py" in bound_func
    8.             return func(self, _args2, *_kwargs2)
      
      File "/usr/lib/python2.6/site-packages/django/db/transaction.py" in inner
    9.             return func(_args, *_kwargs)
      
      File "/usr/lib/python2.6/site-packages/django/contrib/admin/options.py" in add_view
    10.             self.save_model(request, new_object, form, False)
      
      File "/usr/lib/python2.6/site-packages/report_builder/admin.py" in save_model
    11.     obj.save()
      
      File "/usr/lib/python2.6/site-packages/report_builder/models.py" in save
    12.     super(Report, self).save(_args, *_kwargs)
      
      File "/usr/lib/python2.6/site-packages/django/db/models/base.py" in save
    13.                    force_update=force_update, update_fields=update_fields)
      
      File "/usr/lib/python2.6/site-packages/django/db/models/base.py" in save_base
    14.         updated = self._save_table(raw, cls, force_insert, force_update, using, update_fields)
      
      File "/usr/lib/python2.6/site-packages/django/db/models/base.py" in _save_table
    15.         result = self._do_insert(cls._base_manager, using, fields, update_pk, raw)
      
      File "/usr/lib/python2.6/site-packages/django/db/models/base.py" in _do_insert
    16.                            using=using, raw=raw)
      
      File "/usr/lib/python2.6/site-packages/django/db/models/manager.py" in _insert
    17.     return insert_query(self.model, objs, fields, **kwargs)
      
      File "/usr/lib/python2.6/site-packages/django/db/models/query.py" in insert_query
    18. return query.get_compiler(using=using).execute_sql(return_id)
      
      File "/usr/lib/python2.6/site-packages/django/db/models/sql/compiler.py" in execute_sql
    19.         cursor.execute(sql, params)
      
      File "/usr/lib/python2.6/site-packages/django/db/backends/util.py" in execute
    20.         return super(CursorDebugWrapper, self).execute(sql, params)
      
      File "/usr/lib/python2.6/site-packages/django/db/backends/util.py" in execute
    21.             return self.cursor.execute(sql, params)
      
      File "/usr/lib/python2.6/site-packages/django/db/backends/mysql/base.py" in execute
    22.             six.reraise(utils.IntegrityError, utils.IntegrityError(*tuple(e.args)), sys.exc_info()[2])
      
      File "/usr/lib/python2.6/site-packages/django/db/backends/mysql/base.py" in execute
    23.         return self.cursor.execute(query, args)
      
      File "/usr/lib64/python2.6/site-packages/MySQLdb/cursors.py" in execute
    24.         self.errorhandler(self, exc, value)
      
      File "/usr/lib64/python2.6/site-packages/MySQLdb/connections.py" in defaulterrorhandler
    25. raise errorclass, errorvalue
      

    Exception Type: IntegrityError at /admin/report_builder/report/add/ Exception Value: (1048, "Column 'distinct' cannot be null")

    opened by demorphica 2
  • Bump django from 3.2.9 to 3.2.14 in /docs/_ext/djangodummy

    Bump django from 3.2.9 to 3.2.14 in /docs/_ext/djangodummy

    Bumps django from 3.2.9 to 3.2.14.

    Commits
    • 746e88c [3.2.x] Bumped version for 3.2.14 release.
    • a9010fe [3.2.x] Fixed CVE-2022-34265 -- Protected Trunc(kind)/Extract(lookup_name) ag...
    • 3acf156 [3.2.x] Fixed GEOSTest.test_emptyCollections() on GEOS 3.8.0.
    • 4a5d98e [3.2.x] Bumped minimum Sphinx version to 4.5.0.
    • 1a90981 [3.2.x] Fixed docs build with sphinxcontrib-spelling 7.5.0+.
    • 37f4de2 [3.2.x] Added stub release notes for 3.2.14.
    • 7595f76 [3.2.x] Fixed test_request_lifecycle_signals_dispatched_with_thread_sensitive...
    • 2dc85ec [3.2.x] Fixed CoveringIndexTests.test_covering_partial_index() when DEFAULT_I...
    • a23c25d [3.2.x] Fixed #33753 -- Fixed docs build on Sphinx 5+.
    • e01b383 [3.2.x] Added CVE-2022-28346 and CVE-2022-28347 to security archive.
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 1
  • Bump django from 3.2.9 to 3.2.13 in /docs/_ext/djangodummy

    Bump django from 3.2.9 to 3.2.13 in /docs/_ext/djangodummy

    Bumps django from 3.2.9 to 3.2.13.

    Commits
    • 08e6073 [3.2.x] Bumped version for 3.2.13 release.
    • 9e19acc [3.2.x] Fixed CVE-2022-28347 -- Protected QuerySet.explain(**options) against...
    • 2044dac [3.2.x] Fixed CVE-2022-28346 -- Protected QuerySet.annotate(), aggregate(), a...
    • bdb92db [3.2.x] Fixed #33628 -- Ignored directories with empty names in autoreloader ...
    • 70035fb [3.2.x] Added stub release notes for 3.2.13 and 2.2.28.
    • 7e7ea71 [3.2.x] Reverted "Fixed forms_tests.tests.test_renderers with Jinja 3.1.0+."
    • 610ecc9 [3.2.x] Fixed forms_tests.tests.test_renderers with Jinja 3.1.0+.
    • 754af45 [3.2.x] Fixed typo in release notes.
    • 6f30916 [3.2.x] Added CVE-2022-22818 and CVE-2022-23833 to security archive.
    • 1e6b555 [3.2.x] Post-release version bump.
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 1
  • Bump django from 3.2.9 to 3.2.12 in /docs/_ext/djangodummy

    Bump django from 3.2.9 to 3.2.12 in /docs/_ext/djangodummy

    Bumps django from 3.2.9 to 3.2.12.

    Commits
    • fdf209e [3.2.x] Bumped version for 3.2.12 release.
    • d161335 [3.2.x] Fixed CVE-2022-23833 -- Fixed DoS possiblity in file uploads.
    • 1a1e827 [3.2.x] Fixed CVE-2022-22818 -- Fixed possible XSS via {% debug %} template tag.
    • a7e89fe [3.2.x] Added stub release notes for 3.2.12 and 2.2.27.
    • 027f4c4 [3.2.x] Added CVE-2021-45115, CVE-2021-45116, and CVE-2021-45452 to security ...
    • 0a9a46a [3.2.x] Post-release version bump.
    • 6e499a2 [3.2.x] Bumped version for 3.2.11 release.
    • 8d2f7cf [3.2.x] Fixed CVE-2021-45452 -- Fixed potential path traversal in storage sub...
    • c7fe895 [3.2.x] Fixed CVE-2021-45116 -- Fixed potential information disclosure in dic...
    • a8b32fe [3.2.x] Fixed CVE-2021-45115 -- Prevented DoS vector in UserAttributeSimilari...
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 1
  • Bump django from 2.2.9 to 2.2.24 in /docs/_ext/djangodummy

    Bump django from 2.2.9 to 2.2.24 in /docs/_ext/djangodummy

    Bumps django from 2.2.9 to 2.2.24.

    Commits
    • 2da029d [2.2.x] Bumped version for 2.2.24 release.
    • f27c38a [2.2.x] Fixed CVE-2021-33571 -- Prevented leading zeros in IPv4 addresses.
    • 053cc95 [2.2.x] Fixed CVE-2021-33203 -- Fixed potential path-traversal via admindocs'...
    • 6229d87 [2.2.x] Confirmed release date for Django 2.2.24.
    • f163ad5 [2.2.x] Added stub release notes and date for Django 2.2.24.
    • bed1755 [2.2.x] Changed IRC references to Libera.Chat.
    • 63f0d7a [2.2.x] Refs #32718 -- Fixed file_storage.test_generate_filename and model_fi...
    • 5fe4970 [2.2.x] Post-release version bump.
    • 61f814f [2.2.x] Bumped version for 2.2.23 release.
    • b8ecb06 [2.2.x] Fixed #32718 -- Relaxed file name validation in FileField.
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 1
  • Bump django from 2.2.9 to 2.2.22 in /docs/_ext/djangodummy

    Bump django from 2.2.9 to 2.2.22 in /docs/_ext/djangodummy

    Bumps django from 2.2.9 to 2.2.22.

    Commits
    • df9fd46 [2.2.x] Bumped version for 2.2.22 release.
    • d9594c4 [2.2.x] Fixed #32713, Fixed CVE-2021-32052 -- Prevented newlines and tabs fro...
    • 1637003 [2.2.x] Refs CVE-2021-31542 -- Skipped mock AWS storage test on Windows.
    • bcafd9b [2.2.x] Added CVE-2021-31542 to security archive.
    • 3931dc7 [2.2.x] Post-release version bump.
    • ff1385a [2.2.x] Bumped version for 2.2.21 release.
    • 04ac162 [2.2.x] Fixed CVE-2021-31542 -- Tightened path & file name sanitation in file...
    • 7f1b088 [2.2.x] Added CVE-2021-28658 to security archive.
    • e95fbb6 [2.2.x] Post-release version bump.
    • ad9fa56 [2.2.x] Bumped version for 2.2.20 release.
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 1
  • Bump django from 2.2.9 to 2.2.21 in /docs/_ext/djangodummy

    Bump django from 2.2.9 to 2.2.21 in /docs/_ext/djangodummy

    Bumps django from 2.2.9 to 2.2.21.

    Commits
    • ff1385a [2.2.x] Bumped version for 2.2.21 release.
    • 04ac162 [2.2.x] Fixed CVE-2021-31542 -- Tightened path & file name sanitation in file...
    • 7f1b088 [2.2.x] Added CVE-2021-28658 to security archive.
    • e95fbb6 [2.2.x] Post-release version bump.
    • ad9fa56 [2.2.x] Bumped version for 2.2.20 release.
    • 4036d62 [2.2.x] Fixed CVE-2021-28658 -- Fixed potential directory-traversal via uploa...
    • 6e58828 [2.2.x] Added CVE-2021-23336 to security archive.
    • 1fb4628 [2.2.x] Post-release version bump.
    • 21a5547 [2.2.x] Bumped version for 2.2.19 release.
    • fd6b6af [2.2.x] Fixed CVE-2021-23336 -- Fixed web cache poisoning via django.utils.ht...
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 1
  • Bump django from 2.2.9 to 2.2.20 in /docs/_ext/djangodummy

    Bump django from 2.2.9 to 2.2.20 in /docs/_ext/djangodummy

    Bumps django from 2.2.9 to 2.2.20.

    Commits
    • ad9fa56 [2.2.x] Bumped version for 2.2.20 release.
    • 4036d62 [2.2.x] Fixed CVE-2021-28658 -- Fixed potential directory-traversal via uploa...
    • 6e58828 [2.2.x] Added CVE-2021-23336 to security archive.
    • 1fb4628 [2.2.x] Post-release version bump.
    • 21a5547 [2.2.x] Bumped version for 2.2.19 release.
    • fd6b6af [2.2.x] Fixed CVE-2021-23336 -- Fixed web cache poisoning via django.utils.ht...
    • 226d831 [2.2.x] Added documentation extlink for bugs.python.org.
    • 34010d8 [2.2.x] Added CVE-2021-3281 to security archive.
    • 06ae7e0 [2.2.x] Post-release version bump.
    • fc0c8cf [2.2.x] Bumped version for 2.2.18 release.
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 1
  • Bump django from 2.2.9 to 2.2.18 in /docs/_ext/djangodummy

    Bump django from 2.2.9 to 2.2.18 in /docs/_ext/djangodummy

    Bumps django from 2.2.9 to 2.2.18.

    Commits
    • fc0c8cf [2.2.x] Bumped version for 2.2.18 release.
    • 21e7622 [2.2.x] Fixed CVE-2021-3281 -- Fixed potential directory-traversal via archiv...
    • ee9d623 [2.2.x] Fixed GeoIPTest.test04_city() failure with the latest GeoIP2 database.
    • e8e28e7 [2.2.x] Updated CVE URL.
    • e893c0a [2.2.x] Fixed #31850 -- Fixed BasicExtractorTests.test_extraction_warning wit...
    • 3da29a3 [2.2.x] Post-release version bump.
    • c769f65 [2.2.x] Bumped version for 2.2.17 release.
    • 3db9a7a [2.2.x] Set release date for 2.2.17.
    • b4b8ca4 [2.2.x] Refs #31040 -- Doc'd Python 3.9 compatibility.
    • 01742aa [2.2.x] Refs #31040 -- Fixed Python PendingDeprecationWarning in select_for_u...
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 1
  • Bump django from 2.2.9 to 2.2.13 in /docs/_ext/djangodummy

    Bump django from 2.2.9 to 2.2.13 in /docs/_ext/djangodummy

    Bumps django from 2.2.9 to 2.2.13.

    Commits
    • 8093aaa [2.2.x] Bumped version for 2.2.13 release.
    • 07e59ca [2.2.x] Fixed CVE-2020-13254 -- Enforced cache key validation in memcached ba...
    • 6d61860 [2.0.x] Fixed CVE-2020-13596 -- Fixed potential XSS in admin ForeignKeyRawIdW...
    • 7e1084e [2.2.x] Added release date for 2.2.13.
    • 2b69680 [2.2.x] Refs #31485 -- Backported jQuery upgrade to 3.5.1.
    • 8301bc9 [2.2.x] Fixed E128, E741 flake8 warnings.
    • c7bab8d [2.2.x] Fixed term warning on Sphinx 3.0.1+.
    • 79baf33 [2.2.x] Fixed highlightlang deprecation warning on Sphinx 1.8+.
    • 151a83e [2.2.x] Fixed CodeBlock deprecation warning on Sphinx 2.1+.
    • b0d810a [2.2.x] Fixed Sphinx warnings on duplicate object descriptions.
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 1
  • Bump django from 3.2.9 to 3.2.15 in /docs/_ext/djangodummy

    Bump django from 3.2.9 to 3.2.15 in /docs/_ext/djangodummy

    Bumps django from 3.2.9 to 3.2.15.

    Commits
    • 653a7bd [3.2.x] Bumped version for 3.2.15 release.
    • b3e4494 [3.2.x] Fixed CVE-2022-36359 -- Escaped filename in Content-Disposition header.
    • cb7fbac [3.2.x] Fixed collation tests on MySQL 8.0.30+.
    • 840d009 [3.2.x] Fixed inspectdb and schema tests on MariaDB 10.6+.
    • a5eba20 Adjusted release notes for 3.2.15.
    • ad104fb [3.2.x] Added stub release notes for 3.2.15 release.
    • 22916c8 [3.2.x] Fixed RelatedGeoModelTest.test08_defer_only() on MySQL 8+ with MyISAM...
    • e1cfbe5 [3.2.x] Added CVE-2022-34265 to security archive.
    • 605cf0d [3.2.x] Post-release version bump.
    • 746e88c [3.2.x] Bumped version for 3.2.14 release.
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Doesn't seems to work with Django 3

    Doesn't seems to work with Django 3

    After updating to Django 3 my django admin layout is broken, it shows the fluent dashboard but when I enter an Object it shows the old(normal django) and new layout (Fluent)

    opened by tyagow 0
  •  Admin Panel - User Password Change Form ERROR Fix

    Admin Panel - User Password Change Form ERROR Fix

    resolvermatch = urls.resolve(request.path_info)
    urls.resolve returns url_variables as *args, but now shifted to **kwargs,

    In django admin panel, object-change form passes object-id as as '(<object_id>)' but on user password change view, this object-id is passed in name of '(<id>)'. This causes error on going to change password form. this has been handled in this commit.

    opened by jerinisready 0
  • Fixed IndexError at ReturnToSiteItem.get_edited_obj

    Fixed IndexError at ReturnToSiteItem.get_edited_obj

    This is because at django 2.1 resolvermatch returns 'id' but no 'object_id'.

    Tested for url '/admin/auth/user/123/password/' for changing user's password

    opened by xusy2k 0
Owner
django-fluent
Django Fluent CMS - A smooth, flexible CMS to create the designs you like.
django-fluent
Modern responsive template for the Django admin interface with improved functionality. We are proud to announce completely new Jet. Please check out Live Demo

Django JET Modern template for Django admin interface with improved functionality Attention! NEW JET We are proud to announce completely new Jet. Plea

Geex Arts 3.4k Dec 29, 2022
Extends the Django Admin to include a extensible dashboard and navigation menu

django-admin-tools django-admin-tools is a collection of extensions/tools for the default django administration interface, it includes: a full feature

Django Admin Tools 731 Dec 28, 2022
FastAPI Admin Dashboard based on FastAPI and Tortoise ORM.

FastAPI ADMIN 中文文档 Introduction FastAPI-Admin is a admin dashboard based on fastapi and tortoise-orm. FastAPI-Admin provide crud feature out-of-the-bo

long2ice 1.6k Jan 2, 2023
A Django app for easily adding object tools in the Django admin

Django Object Actions If you've ever tried making admin object tools you may have thought, "why can't this be as easy as making Django Admin Actions?"

Chris Chang 524 Dec 26, 2022
Jet Bridge (Universal) for Jet Admin – API-based Admin Panel Framework for your application

Jet Bridge for Jet Admin – Admin panel framework for your application Description About Jet Admin: https://about.jetadmin.io Live Demo: https://app.je

Jet Admin 1.3k Dec 27, 2022
aiohttp admin is generator for admin interface based on aiohttp

aiohttp admin is generator for admin interface based on aiohttp

Mykhailo Havelia 17 Nov 16, 2022
📱 An extension for Django admin that makes interface mobile-friendly. Merged into Django 2.0

Django Flat Responsive django-flat-responsive is included as part of Django from version 2.0! ?? Use this app if your project is powered by an older D

elky 248 Sep 2, 2022
Disable dark mode in Django admin user interface in Django 3.2.x.

Django Non Dark Admin Disable or enable dark mode user interface in Django admin panel (Django==3.2). Installation For install this app run in termina

Artem Galichkin 6 Nov 23, 2022
Drop-in replacement of Django admin comes with lots of goodies, fully extensible with plugin support, pretty UI based on Twitter Bootstrap.

Xadmin Drop-in replacement of Django admin comes with lots of goodies, fully extensible with plugin support, pretty UI based on Twitter Bootstrap. Liv

差沙 4.7k Dec 31, 2022
A jazzy skin for the Django Admin-Interface (official repository).

Django Grappelli A jazzy skin for the Django admin interface. Grappelli is a grid-based alternative/extension to the Django administration interface.

Patrick Kranzlmueller 3.4k Dec 31, 2022
A Django admin theme using Twitter Bootstrap. It doesn't need any kind of modification on your side, just add it to the installed apps.

django-admin-bootstrapped A Django admin theme using Bootstrap. It doesn't need any kind of modification on your side, just add it to the installed ap

null 1.6k Dec 28, 2022
django's default admin interface made customizable. popup windows replaced by modals. :mage: :zap:

django-admin-interface django-admin-interface is a modern responsive flat admin interface customizable by the admin itself. Features Beautiful default

Fabio Caccamo 1.3k Dec 31, 2022
Extendable, adaptable rewrite of django.contrib.admin

django-admin2 One of the most useful parts of django.contrib.admin is the ability to configure various views that touch and alter data. django-admin2

Jazzband 1.2k Dec 29, 2022
Modern theme for Django admin interface

Django Suit Modern theme for Django admin interface. Django Suit is alternative theme/skin/extension for Django administration interface. Project home

Kaspars Sprogis 2.2k Dec 29, 2022
Django application and library for importing and exporting data with admin integration.

django-import-export django-import-export is a Django application and library for importing and exporting data with included admin integration. Featur

null 2.6k Jan 7, 2023
:honey_pot: A fake Django admin login screen page.

django-admin-honeypot django-admin-honeypot is a fake Django admin login screen to log and notify admins of attempted unauthorized access. This app wa

Derek Payton 907 Dec 31, 2022
"Log in as user" for the Django admin.

django-loginas About "Login as user" for the Django admin. loginas supports Python 3 only, as of version 0.4. If you're on 2, use 0.3.6. Installing dj

Stavros Korokithakis 326 Dec 3, 2022
Visually distinguish environments in Django Admin

django-admin-env-notice Visually distinguish environments in Django Admin. Based on great advice from post: 5 ways to make Django Admin safer by hakib

Yuri Shikanov 258 Nov 30, 2022
A new style for Django admin

Djamin Djamin a new and clean styles for Django admin based in Google projects styles. Quick start Install djamin: pip install -e git://github.com/her

Herson Leite 236 Dec 15, 2022