- Notifications
You must be signed in to change notification settings - Fork0
django's default admin interface made customizable. popup windows replaced by modals. 🧙 ⚡
License
cherijs/django-admin-interface
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
django-admin-interface is a modernresponsive flat admin interface customizable by the admin itself.
- Beautiful defaultdjango-theme
- Themes management and customization(you cancustomize admin title, logo and colors)
- Responsive
- Related modal(instead of the old popup window)
- Environment name/marker
- Language chooser
- Foldable apps(accordions in the navigation bar)
- Collapsible fieldsets can have their initial state expanded instead of collapsed
NEWCollapsible inlinesNEWTabbed fieldsets and inlinesNEWList filter removal linksNEWList filter highlight selected options- List filter dropdown
- List filter sticky
- Form controls sticky(pagination and save/delete buttons)
- Compatibility / style optimizations for:
django-ckeditordjango-dynamic-raw-iddjango-json-widgetdjango-modeltranslationdjango-rangefilterdjango-streamfielddjango-tabbed-adminsorl-thumbnail
- Translated in many languages:
de,es,fa,fr,it,pl,pt_BR,tr
- Run
pip install django-admin-interface - Add
admin_interfaceandcolorfieldtosettings.INSTALLED_APPSbeforedjango.contrib.admin
INSTALLED_APPS= (#..."admin_interface","colorfield",#..."django.contrib.admin",#...)X_FRAME_OPTIONS="SAMEORIGIN"SILENCED_SYSTEM_CHECKS= ["security.W019"]
- Run
python manage.py migrate - Run
python manage.py collectstatic --clear - Restart your application server
Warning - if you want use modals instead of popup windows, ensure to add
X_FRAME_OPTIONS = "SAMEORIGIN"setting.
To make a fieldset start expanded with aHide button to collapse, add the class"expanded" to its classes:
classMyModelAdmin(admin.ModelAdmin):# ...fieldsets= [ ("Section title", {"classes": ("collapse","expanded"),"fields": (...), }), ]# ...
This package ships with optional themes as fixtures, they can be installed using theloaddata admin command. Optional themes are activated on installation.
Django theme (default):
Runpython manage.py loaddata admin_interface_theme_django.json
Bootstrap theme:
Runpython manage.py loaddata admin_interface_theme_bootstrap.json
Foundation theme:
Runpython manage.py loaddata admin_interface_theme_foundation.json
U.S. Web Design Standards theme:
Runpython manage.py loaddata admin_interface_theme_uswds.json
You can add a theme you've created through the admin to this repository bysending us a PR. Here are the steps to follow to add:
Export your exact theme as fixture using the
dumpdataadmin command:python manage.py dumpdata admin_interface.Theme --indent 4 -o admin_interface_theme_{{name}}.json --pks=NCopy 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).Remove the
pkfrom the fixture and make sure theactivefield is set totrue(in this way a theme is automatically activated when installed).Edit the section above to document your theme.
You can addtheme support to existing third-party libraries using the followingCSS variables:
--admin-interface-header-background-color--admin-interface-header-text-color--admin-interface-header-link-color--admin-interface-header-link_hover-color--admin-interface-title-color--admin-interface-env-color
--admin-interface-logo-color--admin-interface-logo-default-background-image--admin-interface-logo-max-width--admin-interface-logo-max-height
--admin-interface-module-background-color--admin-interface-module-background-selected-color--admin-interface-module-border-radius--admin-interface-module-text-color--admin-interface-module-link-color--admin-interface-module-link-selected-color--admin-interface-module-link-hover-color--admin-interface-generic-link-color--admin-interface-generic-link-hover-color--admin-interface-generic-link-active-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--admin-interface-related-modal-border-radius--admin-interface-related-modal-close-button-display
At the moment, this package has been translated into the following languages:de,es,fa,fr,it,pl,pt_BR,tr.
Run
python -m django makemessages --ignore ".tox" --ignore "venv" --add-location "file" --extension "html,py" --locale "it"(example for Italian localization)Update translations in
admin_interface/locale/it/LC_MESSAGES/django.poRun
python -m django compilemessages --ignore ".tox" --ignore "venv"
If you do some changes to the project, remember to update translations, because if the translations files are not up-to-date, thelint step in the CI will fail:
- Run
tox -e translations
I already have a custom
base_site.html, how can I make it work?
You can usedjango-apptemplates, then add{% extends "admin_interface:admin/base_site.html" %} to yourbase_site.html
I have enabled theLanguage Chooser, but it is not visible in the admin, what should I do?
You must configure multilanguagesettings andurls correctly:
LANGUAGES= ( ("en",_("English")), ("it",_("Italiano")), ("fr",_("Français")),# more than one language is expected here)LANGUAGE_CODE="en"USE_I18N=TrueMIDDLEWARE= [# ..."django.middleware.locale.LocaleMiddleware",# ...]
fromdjango.conf.urls.i18nimporti18n_patternsfromdjango.contribimportadminfromdjango.urlsimportinclude,path# ...urlpatterns= [path("i18n/",include("django.conf.urls.i18n")),]urlpatterns+=i18n_patterns(path("admin/",admin.site.urls))
# clone repositorygit clone https://github.com/fabiocaccamo/django-admin-interface.git&&cd django-admin-interface# create virtualenv and activate itpython -m venv venv&&. venv/bin/activate# upgrade pippython -m pip install --upgrade pip# install requirementspip install -r requirements.txt -r requirements-test.txt# install pre-commit to run formatters and linterspre-commit install --install-hooks# run teststox# orpython runtests.py# orpython -m djangotest --settings"tests.settings"
Contributions are always welcome, please follow these steps for submitting good quality PRs:
- ❗Open an issue, please don't submit any PR that doesn't refer to an existing issue.
- 💻Work on changes, changes shouldpreferably be covered by tests to avoid regressions in the future.
- 🌐Update the translations files.
- 🧪Run tests ensuring that there are no errors.
- 📥Submit a pull-request and mark it as"Ready for review" only if it passes the
CI.
Released underMIT License.
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-fontbro- friendly font operations. 🧢python-fsutil- file-system utilities for lazy devs. 🧟♂️
About
django's default admin interface made customizable. popup windows replaced by modals. 🧙 ⚡
Resources
License
Code of conduct
Security policy
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Languages
- CSS32.9%
- Python32.6%
- JavaScript22.5%
- HTML12.0%




