django's default admin interface made customizable. popup windows replaced by modals. :mage: :zap:

Overview

django-admin-interface

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

django-admin-interface-preview

Features

  • Beautiful default django-theme
  • Themes management and customization (you can customize admin title, logo and colors)
  • Responsive
  • List filter dropdown (optional)
  • NEW Related modal (instead of the old popup window, optional)
  • NEW Environment name/marker
  • NEW Language chooser
  • Compatibility / Style optimizations for:
    • django-ckeditor
    • django-dynamic-raw-id
    • django-json-widget
    • django-modeltranslation
    • django-tabbed-admin
    • sorl-thumbnail

Installation

  • Run pip install django-admin-interface
  • Add admin_interface, flat_responsive, flat and colorfield to settings.INSTALLED_APPS before django.contrib.admin
INSTALLED_APPS = (
    #...
    'admin_interface',
    'flat_responsive', # only if django version < 2.0
    'flat', # only if django version < 1.9
    'colorfield',
    #...
    'django.contrib.admin',
    #...
)

X_FRAME_OPTIONS='SAMEORIGIN' # only if django version >= 3.0
  • Run python manage.py migrate
  • Run python manage.py collectstatic
  • Restart your application server

Upgrade

  • Run pip install django-admin-interface --upgrade
  • Run python manage.py migrate (add --fake-initial if you are upgrading from 0.1.0 version)
  • Run python manage.py collectstatic --clear
  • Restart your application server

Optional themes

This package ships with optional themes as fixtures, they can be installed using the loaddata admin command. Optional themes are activated on installation.

Django theme (default):

Run python manage.py loaddata admin_interface_theme_django.json

Bootstrap theme:

Run python manage.py loaddata admin_interface_theme_bootstrap.json

Foundation theme:

Run python manage.py loaddata admin_interface_theme_foundation.json

U.S. Web Design Standards theme:

Run python manage.py loaddata admin_interface_theme_uswds.json

Add more themes

You can add a theme you've created through the admin to this repository by sending us a PR. Here are the steps to follow to add:

  1. Export your exact theme as fixture using the dumpdata admin command: python manage.py dumpdata admin_interface.Theme --indent 4 -o admin_interface_theme_{{name}}.json --pks=N

  2. Copy the generated json file into the fixtures folder (making sure its name starts with admin_interface_theme_ to avoid clashes with fixtures that might be provided by other third party apps).

  3. Remove the "pk" from the fixture and make sure the active field is set to true (in this way a theme is automatically activated when installed).

  4. Edit the section above to document your theme.

Add theme support to third-party libraries

You can add theme support to existing third-party libraries using the following css variables:

  • --admin-interface-title-color
  • --admin-interface-logo-color
  • --admin-interface-env-color
  • --admin-interface-header-background-color:
  • --admin-interface-header-text-color
  • --admin-interface-header-link-color
  • --admin-interface-header-link_hover-color
  • --admin-interface-module-background-color
  • --admin-interface-module-text-color
  • --admin-interface-module-link-color
  • --admin-interface-module-link-hover-color
  • --admin-interface-generic-link-color
  • --admin-interface-generic-link-hover-color
  • --admin-interface-save-button-background-color
  • --admin-interface-save-button-background-hover-color
  • --admin-interface-save-button-text-color
  • --admin-interface-delete-button-background-color
  • --admin-interface-delete-button-background-hover-color
  • --admin-interface-delete-button-text-color
  • --admin-interface-related-modal-background-color
  • --admin-interface-related-modal-background-opacity

Screenshots

Admin login

django-admin-interface_login

Admin dashboard

django-admin-interface_dashboard

Admin themes management

django-admin-interface_themes_management

Admin theme customization

django-admin-interface_theme_customization

FAQ

  • I already have a custom base_site.html, how can I make it work?

You can use django-apptemplates, then add {% extends "admin_interface:admin/base_site.html" %} to your base_site.html

Testing

# create python virtual environment
virtualenv testing_django_admin_interface

# activate virtualenv
cd testing_django_admin_interface && . bin/activate

# clone repo
git clone https://github.com/fabiocaccamo/django-admin-interface.git src && cd src

# install dependencies
pip install -r requirements.txt

# run tests
tox
# or
python setup.py test
# or
python -m django test --settings "tests.settings"

License

Released under MIT License.


See also

  • django-colorfield - simple color field for models with a nice color-picker in the admin. 🎨

  • django-extra-settings - config and manage typed extra settings using just the django admin. ⚙️

  • django-maintenance-mode - shows a 503 error page when maintenance-mode is on. 🚧 🛠️

  • django-redirects - redirects with full control. ↪️

  • django-treenode - probably the best abstract model / admin for your tree based stuff. 🌳

  • python-benedict - dict subclass with keylist/keypath support, I/O shortcuts (base64, csv, json, pickle, plist, query-string, toml, xml, yaml) and many utilities. 📘

  • python-codicefiscale - encode/decode Italian fiscal codes - codifica/decodifica del Codice Fiscale. 🇮🇹 💳

  • python-fsutil - file-system utilities for lazy devs. 🧟‍♂️

Issues
  • Popup for related models creation fires a javascript error when

    Popup for related models creation fires a javascript error when "Related modal" is inactive

    Python version Python 3.7.6

    Django version Django 3.0.4

    Package version django-admin-interface==0.12

    Current behavior (bug description) The Popup for related models creation doesn't work when "Related modal" is inactive, due to this javascript error:

     Uncaught TypeError: Cannot read property 'replace' of undefined
        at windowname_to_id (:8000/static/admin/js/admin/RelatedObjectLookups.js:19)
        at dismissAddRelatedObjectPopup (:8000/static/admin/js/admin/RelatedObjectLookups.js:77)
        at popup_response.js:43
        at popup_response.js:52
    

    Expected behavior Since the standard Django admin is working correctly, this problem seems related to the presence of django-admin-interface.

    I did a very basic setup of a simple Django project to reproduce the error in a simplified enrvironment.

    The project and some screenshots to better explain the problem are available here:

    https://github.com/morlandi/test-admin-interface

    bug 
    opened by morlandi 20
  • Replace travis with github actions

    Replace travis with github actions

    Most projects have left Travis because of the management issues. It seems that tests for PRs here are not run any more. I could convert the config to github actions (example conversions from circleci: https://github.com/caravancoop/configstore/pull/47)

    enhancement 
    opened by merwok 17
  • Unreadable text in autocomplete multi-selects

    Unreadable text in autocomplete multi-selects

    Python version 3.8

    Django version 3.0.6

    Package version 0.12.2

    Current behavior (bug description) In a multi-select field using autocomplete (django admin feature), selected options are not readable. Django’s autocomplete.css sets a white font color, django-admin-interface inline CSS defines white background color.

    Expected behavior Text should be readable :slightly_smiling_face: I am not sure if the background or text color should change, though; should probably match the behaviour of custom selects.

    A quick workaround:

    .select2-container--admin-autocomplete .select2-results__option--highlighted[aria-selected] {
      color: inherit;
    
    bug 
    opened by merwok 17
  • Cache admin settings

    Cache admin settings

    Each call to Theme.get_active_theme makes multiple database calls. Unfortunately, that's called in the get_admin_interface_theme template tag, which appears multiple times on each admin page render.

    We should cache these calls at least per request to speed up performance.

    enhancement 
    opened by cmc333333 17
  • migrate fails at

    migrate fails at "change_related_modal_background_opacity_type"

    Hi there. Thanks for the great interface. I'm trying to migrate from a function setup with Python 3.6, Django 2.1.5, and admin-interface 0.9.1 . When I run migrate on my development computer I end up with the following traceback. I'm happy to help debug but the process of debugging if I can.

    ` Applying admin_interface.0008_change_related_modal_background_opacity_type...Traceback (most recent call last): File "/home/ace/.local/share/virtualenvs/website-10j77PrM/lib/python3.6/site-packages/django/db/backends/utils.py", line 85, in _execute return self.cursor.execute(sql, params) psycopg2.OperationalError: server closed the connection unexpectedly This probably means the server terminated abnormally before or while processing the request.

    The above exception was the direct cause of the following exception:

    Traceback (most recent call last): File "/home/ace/.local/share/virtualenvs/website-10j77PrM/lib/python3.6/site-packages/django/db/migrations/executor.py", line 244, in apply_migration state = migration.apply(state, schema_editor) File "/home/ace/.local/share/virtualenvs/website-10j77PrM/lib/python3.6/site-packages/django/db/migrations/migration.py", line 124, in apply operation.database_forwards(self.app_label, schema_editor, old_state, project_state) File "/home/ace/.local/share/virtualenvs/website-10j77PrM/lib/python3.6/site-packages/django/db/migrations/operations/fields.py", line 216, in database_forwards schema_editor.alter_field(from_model, from_field, to_field) File "/home/ace/.local/share/virtualenvs/website-10j77PrM/lib/python3.6/site-packages/django/db/backends/base/schema.py", line 523, in alter_field old_db_params, new_db_params, strict) File "/home/ace/.local/share/virtualenvs/website-10j77PrM/lib/python3.6/site-packages/django/db/backends/postgresql/schema.py", line 122, in _alter_field new_db_params, strict, File "/home/ace/.local/share/virtualenvs/website-10j77PrM/lib/python3.6/site-packages/django/db/backends/base/schema.py", line 663, in _alter_field params, File "/home/ace/.local/share/virtualenvs/website-10j77PrM/lib/python3.6/site-packages/django/db/backends/base/schema.py", line 133, in execute cursor.execute(sql, params) File "/home/ace/.local/share/virtualenvs/website-10j77PrM/lib/python3.6/site-packages/django/db/backends/utils.py", line 100, in execute return super().execute(sql, params) File "/home/ace/.local/share/virtualenvs/website-10j77PrM/lib/python3.6/site-packages/django/db/backends/utils.py", line 68, in execute return self._execute_with_wrappers(sql, params, many=False, executor=self._execute) File "/home/ace/.local/share/virtualenvs/website-10j77PrM/lib/python3.6/site-packages/django/db/backends/utils.py", line 77, in _execute_with_wrappers return executor(sql, params, many, context) File "/home/ace/.local/share/virtualenvs/website-10j77PrM/lib/python3.6/site-packages/django/db/backends/utils.py", line 85, in _execute return self.cursor.execute(sql, params) File "/home/ace/.local/share/virtualenvs/website-10j77PrM/lib/python3.6/site-packages/django/db/utils.py", line 89, in exit raise dj_exc_value.with_traceback(traceback) from exc_value File "/home/ace/.local/share/virtualenvs/website-10j77PrM/lib/python3.6/site-packages/django/db/backends/utils.py", line 85, in _execute return self.cursor.execute(sql, params) django.db.utils.OperationalError: server closed the connection unexpectedly This probably means the server terminated abnormally before or while processing the request.

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last): File "/home/ace/.local/share/virtualenvs/website-10j77PrM/lib/python3.6/site-packages/django/db/backends/base/base.py", line 216, in ensure_connection self.connect() File "/home/ace/.local/share/virtualenvs/website-10j77PrM/lib/python3.6/site-packages/django/db/backends/base/base.py", line 194, in connect self.connection = self.get_new_connection(conn_params) File "/home/ace/.local/share/virtualenvs/website-10j77PrM/lib/python3.6/site-packages/django/db/backends/postgresql/base.py", line 178, in get_new_connection connection = Database.connect(**conn_params) File "/home/ace/.local/share/virtualenvs/website-10j77PrM/lib/python3.6/site-packages/psycopg2/init.py", line 130, in connect conn = _connect(dsn, connection_factory=connection_factory, **kwasync) psycopg2.OperationalError: FATAL: the database system is in recovery mode

    The above exception was the direct cause of the following exception:

    Traceback (most recent call last): File "manage.py", line 30, in execute_from_command_line(sys.argv) File "/home/ace/.local/share/virtualenvs/website-10j77PrM/lib/python3.6/site-packages/django/core/management/init.py", line 381, in execute_from_command_line utility.execute() File "/home/ace/.local/share/virtualenvs/website-10j77PrM/lib/python3.6/site-packages/django/core/management/init.py", line 375, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "/home/ace/.local/share/virtualenvs/website-10j77PrM/lib/python3.6/site-packages/django/core/management/base.py", line 316, in run_from_argv self.execute(*args, **cmd_options) File "/home/ace/.local/share/virtualenvs/website-10j77PrM/lib/python3.6/site-packages/django/core/management/base.py", line 353, in execute output = self.handle(*args, **options) File "/home/ace/.local/share/virtualenvs/website-10j77PrM/lib/python3.6/site-packages/django/core/management/base.py", line 83, in wrapped res = handle_func(*args, **kwargs) File "/home/ace/.local/share/virtualenvs/website-10j77PrM/lib/python3.6/site-packages/django/core/management/commands/migrate.py", line 203, in handle fake_initial=fake_initial, File "/home/ace/.local/share/virtualenvs/website-10j77PrM/lib/python3.6/site-packages/django/db/migrations/executor.py", line 117, in migrate state = self._migrate_all_forwards(state, plan, full_plan, fake=fake, fake_initial=fake_initial) File "/home/ace/.local/share/virtualenvs/website-10j77PrM/lib/python3.6/site-packages/django/db/migrations/executor.py", line 147, in _migrate_all_forwards state = self.apply_migration(state, migration, fake=fake, fake_initial=fake_initial) File "/home/ace/.local/share/virtualenvs/website-10j77PrM/lib/python3.6/site-packages/django/db/migrations/executor.py", line 244, in apply_migration state = migration.apply(state, schema_editor) File "/home/ace/.local/share/virtualenvs/website-10j77PrM/lib/python3.6/site-packages/django/db/backends/base/schema.py", line 108, in exit self.atomic.exit(exc_type, exc_value, traceback) File "/home/ace/.local/share/virtualenvs/website-10j77PrM/lib/python3.6/site-packages/django/db/transaction.py", line 256, in exit connection.set_autocommit(True) File "/home/ace/.local/share/virtualenvs/website-10j77PrM/lib/python3.6/site-packages/django/db/backends/base/base.py", line 394, in set_autocommit self.ensure_connection() File "/home/ace/.local/share/virtualenvs/website-10j77PrM/lib/python3.6/site-packages/django/db/backends/base/base.py", line 216, in ensure_connection self.connect() File "/home/ace/.local/share/virtualenvs/website-10j77PrM/lib/python3.6/site-packages/django/db/utils.py", line 89, in exit raise dj_exc_value.with_traceback(traceback) from exc_value File "/home/ace/.local/share/virtualenvs/website-10j77PrM/lib/python3.6/site-packages/django/db/backends/base/base.py", line 216, in ensure_connection self.connect() File "/home/ace/.local/share/virtualenvs/website-10j77PrM/lib/python3.6/site-packages/django/db/backends/base/base.py", line 194, in connect self.connection = self.get_new_connection(conn_params) File "/home/ace/.local/share/virtualenvs/website-10j77PrM/lib/python3.6/site-packages/django/db/backends/postgresql/base.py", line 178, in get_new_connection connection = Database.connect(**conn_params) File "/home/ace/.local/share/virtualenvs/website-10j77PrM/lib/python3.6/site-packages/psycopg2/init.py", line 130, in connect conn = _connect(dsn, connection_factory=connection_factory, **kwasync) django.db.utils.OperationalError: FATAL: the database system is in recovery `mode``

    opened by acegallagher 16
  • CSS as FileField in `Theme` model

    CSS as FileField in `Theme` model

    Hello,

    I have seen that the Theme model allow to "inject" raw css through its css attribute. However it is a TextField and it is not so easy to use in practice (for instance we need to inline the css code in the json fixture). I think it could be great to either turn this field into a FileField or to add a new FileField attribute like css_file. Of course I can help through a PR :)

    enhancement wontfix 
    opened by asiffer 15
  • Translation issue

    Translation issue

    Hello @fabiocaccamo!

    Tks for your great work on this project.

    I realized that maybe I got an issue with the translations. Could you take a look at that or gimme instructions to fix it?

    Even if the "language_chooser" is enabled I couldn't see the options to change the language.

    The translations are working since I've already edited files:

    settings.py

    MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.locale.LocaleMiddleware', ... ]

    LANGUAGES = ( ('en', 'English'), ('pt-br', 'Português'), )

    urls.py

    from django.conf.urls.i18n import i18n_patterns

    urlpatterns = i18n_patterns( path('admin/', admin.site.urls), prefix_default_language=True )

    What I missing?

    tks for your attention!!!

    enhancement 
    opened by saymoncoppi 13
  • Wasted space when not using sidebar

    Wasted space when not using sidebar

    Package version 0.14.1

    Current behavior (bug description) Pages don’t use the full width of the screen because of this rule:

    @media (min-width:1280px) {
        .admin-interface.change-list:not(.popup) #main.shifted > .content,
        .admin-interface.change-form:not(.popup) #main.shifted > .content {
            max-width: calc(100% - 360px);
        }
    }
    

    Expected behavior

    When admin.site.enable_nav_sidebar is false, don’t reserve 360px.

    bug 
    opened by merwok 13
  • [security] Version display on all the pages

    [security] Version display on all the pages

    This is not really a bug but it's related to security.

    We recently had a security audit and something that came up was that the name/version/url of this lib was being injected into all the pages of the admin were it's being used (including the login page). The issue is that with this information, an attacker could more easily look for vulnerabilities.

    With that said, my ask is quite simple, can we remove this info?

    https://github.com/fabiocaccamo/django-admin-interface/blob/master/admin_interface/templates/admin/base_site.html#L15-L16

    enhancement 
    opened by mintyPT 12
  • Add sticky action button option.

    Add sticky action button option.

    Hi

    In many cases, I faced with this problem that I filled all the required fields, but need to scroll down too much to be able to save the form, especially in a form with large components like a map. So I decided to add a sticky action button to give the form’s action button a fixed position (like the screenshot). I know this is not everyone's problem, but I thought maybe it's useful for others, too.

    Screen Shot 2021-01-24 at 19 36 54 enhancement 
    opened by theSinner 12
  • Creating a theme at startup and enabling it

    Creating a theme at startup and enabling it

    Python version 3.8

    Django version 3.1

    Package version 0.14.0

    Current behavior (bug description) I am creating a theme from settings in an AppConfig.ready(), the Theme models is correctly created with the right values. active is set to True (and is the only Theme ticked in the admin panel), but the Django's default one is the theme applied. I have to manually save the model once from the Django admin panel for it to be applied.

    Here's my ready() function creating the Theme at startup :

    class WebsiteConfig(AppConfig):
        name = 'website'
        
        
        def ready(self):
            if not {"runserver", "shell"}.intersection(sys.argv):
                return
            
            Theme = apps.get_model("admin_interface", "Theme")  # noqa
            kwargs = {
                "name":                                     "ISLRN",
                "active":                                   True,
                "title":                                    "ISLRN Administration",
                "title_color":                              settings.COLOR_PALETTE["theme_on_primary"],
                "title_visible":                            True,
                "logo":                                     "",
                "logo_color":                               "#FFFFFF",
                "logo_visible":                             False,
                "css_header_background_color":              settings.COLOR_PALETTE["theme_primary"],
                "css_header_text_color":                    settings.COLOR_PALETTE["theme_on_primary"],
                "css_header_link_color":                    settings.COLOR_PALETTE["theme_on_primary_lighter"],
                "css_header_link_hover_color":              settings.COLOR_PALETTE["theme_on_primary_darker"],
                "css_module_background_color":              settings.COLOR_PALETTE["theme_secondary"],
                "css_module_text_color":                    settings.COLOR_PALETTE["theme_on_secondary"],
                "css_module_link_color":                    settings.COLOR_PALETTE["theme_on_secondary_lighter"],
                "css_module_link_hover_color":              settings.COLOR_PALETTE["theme_on_secondary_darker"],
                "css_module_rounded_corners":               True,
                "css_generic_link_color":                   settings.COLOR_PALETTE["theme_on_default_lighter"],
                "css_generic_link_hover_color":             settings.COLOR_PALETTE["theme_on_default_darker"],
                "css_save_button_background_color":         settings.COLOR_PALETTE["theme_success"],
                "css_save_button_background_hover_color":   settings.COLOR_PALETTE["theme_success"],
                "css_save_button_text_color":               settings.COLOR_PALETTE["theme_on_success"],
                "css_delete_button_background_color":       settings.COLOR_PALETTE["theme_error"],
                "css_delete_button_background_hover_color": settings.COLOR_PALETTE["theme_error"],
                "css_delete_button_text_color":             settings.COLOR_PALETTE["theme_on_error"],
                "css":                                      "",
                "related_modal_active":                     True,
                "related_modal_background_color":           settings.COLOR_PALETTE["theme_default"],
                "related_modal_background_opacity":         0.2,
                "related_modal_rounded_corners":            True,
                "list_filter_dropdown":                     False,
                "recent_actions_visible":                   True
            }
            
            try:
                theme = Theme.objects.get(name="ISLRN")
                for k, a in kwargs.items():
                    setattr(theme, k, a)
                theme.save()
            except Theme.DoesNotExist:
                Theme.objects.create(**kwargs)
            Theme.get_active_theme()
    

    Expected behavior I expected the created Theme to be applied immediately since it's the only Theme with active set to True.

    enhancement 
    opened by qcoumes 12
  • Collapsable Filter Menu

    Collapsable Filter Menu

    Hi!

    Would it be possible to add a button to hide the filters the same way the left menu is hidden? I have faced situations where the users won't use the filters on a daily basis and, in small screens, the filters fill an important piece of screen and they have to scroll horizontally to view the data in the list.

    Thank you for this amazing interface! 🙌🏻

    enhancement 
    opened by smunoz-ml 1
  • App model order for Admin Interface

    App model order for Admin Interface

    Hello Fabio!!! Today I saw an improvement that fits with this old suggestion. Beyond the foldable option could the django-admin-interface offer a way to reorder classes on tree menu. Take a look https://stackoverflow.com/questions/398163/ordering-admin-modeladmin-objects

    image

    Originally posted by @saymoncoppi in https://github.com/fabiocaccamo/django-admin-interface/issues/117#issuecomment-963169383

    enhancement 
    opened by saymoncoppi 5
  • Language chooser style

    Language chooser style

    Hello Fabio! Could you gimme a tip about how to overwrite the language_chooser.html (venv\lib\python3.6\site-packages\admin_interface\templates\admin_interface\language_chooser.html) and keep it this way below?

    image

    I made these changes, but how to persist in a new enviroment? Manually again?

    <select name="language" onchange="document.getElementById(String('language-chooser-hidden-form-' + this.value)).submit();" 
    style="width:65px;margin-top:-9px;font-size:11px;font-weight:300;color:#cfcfcf;border:0px;outline:0px;">
    

    Tks buddy!!!

    enhancement 
    opened by saymoncoppi 6
  • Django dark mode is not working

    Django dark mode is not working

    Python version 3.9

    Django version 3.2.5

    Package version 0.16.3

    Current behavior (bug description) Django default admin dark mode not working with django-admin-interface.

    Expected behavior I want to use the flat design provided by django-admin-interface but with dark mode

    enhancement 
    opened by tbhaxor 11
Releases(0.19.1)
Owner
Fabio Caccamo
Python/Django, JavaScript/Vue-JS, Node/Gulp/Sass, Objective-C
Fabio Caccamo
aiohttp admin is generator for admin interface based on aiohttp

aiohttp admin is generator for admin interface based on aiohttp

Mykhailo Havelia 15 May 19, 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.2k Jun 27, 2022
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.3k Jul 2, 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.3k Jun 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 Jun 21, 2022
A flat theme for Django admin interface. Modern, fresh, simple.

Django Flat Theme django-flat-theme is included as part of Django from version 1.9! ?? Please use this app if your project is powered by an older Djan

elky 415 Nov 22, 2021
📱 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 249 Apr 2, 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.3k Jun 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 Jun 30, 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 5 Apr 13, 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 Jun 27, 2022
Real-time monitor and web admin for Celery distributed task queue

Flower Flower is a web based tool for monitoring and administrating Celery clusters. Features Real-time monitoring using Celery Events Task progress a

Mher Movsisyan 5.3k Jul 3, 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 Jun 26, 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 Jun 21, 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.4k Jul 1, 2022
spider-admin-pro

Spider Admin Pro Github: https://github.com/mouday/spider-admin-pro Gitee: https://gitee.com/mouday/spider-admin-pro Pypi: https://pypi.org/

mouday 91 Jun 26, 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.4k Jun 29, 2022
: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 880 Jun 21, 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 307 Jun 29, 2022