Django-Admin-Schnittstelle ist eine moderne reaktionsschnelle Flachadministrator-Schnittstelle, die vom Administrator selbst anpassbar ist .

NEW zusammenklappbare InlinesNEW Registerkartenfelder und InlineNEW ListenfilterentfernungslinksNEW Listenfilter Highlight ausgewählte Optionendjango-ckeditordjango-dynamic-raw-iddjango-json-widgetdjango-modeltranslationdjango-rangefilterdjango-streamfielddjango-tabbed-adminsorl-thumbnailde , es , fa , fr , it , pl , pt_BR , ru , tr pip install django-admin-interfaceadmin_interface und colorfield zu settings.INSTALLED_APPS hinzu django.contrib.admin INSTALLED_APPS = (
#...
"admin_interface" ,
"colorfield" ,
#...
"django.contrib.admin" ,
#...
)
X_FRAME_OPTIONS = "SAMEORIGIN"
SILENCED_SYSTEM_CHECKS = [ "security.W019" ]python manage.py migratepython manage.py collectstatic --clearWarnung
Wenn Sie Modal anstelle von Popup -Windows verwenden möchten, stellen Sie sicher, dass die Einstellung X_FRAME_OPTIONS = "SAMEORIGIN" hinzugefügt wird.
Damit ein Felderset mit einer Hide -Taste erweitert wird, um zusammenzubrechen, fügen Sie die Klasse "expanded" zu ihren Klassen hinzu:
class MyModelAdmin ( admin . ModelAdmin ):
# ...
fieldsets = [
( "Section title" , {
"classes" : ( "collapse" , "expanded" ),
"fields" : (...),
}),
]
# ... Dieses Paket versendet mit optionalen Themen als Vorrichtungen. Sie können mit dem Befehl loadData admin installiert werden. Optionale Themen werden bei der Installation aktiviert.
Führen Sie python manage.py loaddata admin_interface_theme_django.json
Führen Sie python manage.py loaddata admin_interface_theme_bootstrap.json
Führen Sie python manage.py loaddata admin_interface_theme_foundation.json
Führen Sie python manage.py loaddata admin_interface_theme_uswds.json
Sie können ein Thema hinzufügen, das Sie über den Administrator zu diesem Repository erstellt haben, indem Sie uns eine PR senden. Hier sind die Schritte, die Sie folgen müssen, um hinzuzufügen:
Exportieren Sie Ihr genaues Thema als Fixture mit dem Befehl dumpdata admin: python manage.py dumpdata admin_interface.Theme --indent 4 -o admin_interface_theme_{{name}}.json --pks=N .
Kopieren Sie die generierte JSON -Datei in den Befestigungsordner (stellen Sie sicher, dass der Name mit admin_interface_theme_ startet , um Konflikte mit Geräten zu vermeiden, die möglicherweise von anderen Apps von Drittanbietern bereitgestellt werden) .
Entfernen Sie die pk aus dem Gerät und stellen Sie sicher, dass das active Feld auf true eingestellt ist (auf diese Weise wird ein Thema automatisch aktiviert, wenn sie installiert ist) .
Bearbeiten Sie den obigen Abschnitt, um Ihr Thema zu dokumentieren.
Mit den folgenden CSS-Variablen können Sie vorhandene Bibliotheken von Drittanbietern Themenunterstützung hinzufügen:
--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 Im Moment wurde dieses Paket in die folgenden Sprachen übersetzt: de , es , fa , fr , it , pl , pt_BR , tr .
Rennen Sie python -m django makemessages --ignore ".tox" --ignore "venv" --add-location "file" --extension "html,py" --locale "it" (Beispiel für die italienische Lokalisierung)
Übersetzungen in admin_interface/locale/it/LC_MESSAGES/django.po aktualisieren
Rennen Sie python -m django compilemessages --ignore ".tox" --ignore "venv"
Wenn Sie einige Änderungen am Projekt vornehmen, denken Sie daran, Übersetzungen zu aktualisieren. Wenn die Übersetzungsdateien nicht auf dem neuesten Stand sind, fehlschlägt der lint Schritt im CI:
tox -e translations aus Dieses Paket verwendet Caching, um die Ladezeit und die Gesamtleistung des Themas zu verbessern. Sie können die App -Caching -Optionen von settings.CACHES["admin_interface"] anpassen, da ansonsten der "default" -Cache verwendet wird:
CACHES = {
# ...
"admin_interface" : {
"BACKEND" : "django.core.cache.backends.locmem.LocMemCache" ,
"TIMEOUT" : 60 * 5 ,
},
# ...
}Warnung
Bei der Verwendung dieses Pakets mit django-redis gibt es ein bekanntes Kompatibilitätsproblem, insbesondere die Verwendung des JSONSerializer Der folgende Fehler wird erhöht: TypeError: Object of type Theme is not JSON serializable , um dieses Problem zu mildern. Verwenden Sie einfach einen spezifischen Cache für diese App, die keinen json Serialisierer verwendet.
base-site.htmlIch habe bereits eine benutzerdefinierte
base_site.html. Wie kann ich es zum Laufen bringen?
Sie können Django-apptemplates verwenden und dann {% extends "admin_interface:admin/base_site.html" %} zu Ihrer base_site.html hinzufügen
LocaleMiddleware WarnungIch verwende eine
django.middleware.locale.LocaleMiddleware-Unterklasse, aber ich sehe eine unnötige Warnung für fehlendedjango.middleware.locale.LocaleMiddleware. Was kann ich tun?
Sie können die Warnung einfach ignorieren (dies wurde hier besprochen)
import warnings
warnings . filterwarnings ( "ignore" , module = "admin_interface.templatetags.admin_interface_tags" )Ich habe den Sprachwähler aktiviert, aber er ist im Administrator nicht sichtbar. Was soll ich tun?
Sie müssen Multilanguage settings und urls korrekt konfigurieren:
LANGUAGES = (
( "en" , _ ( "English" )),
( "it" , _ ( "Italiano" )),
( "fr" , _ ( "Français" )),
# more than one language is expected here
)
LANGUAGE_CODE = "en"
USE_I18N = True
MIDDLEWARE = [
# ...
"django.middleware.locale.LocaleMiddleware" ,
# ...
] from django . conf . urls . i18n import i18n_patterns
from django . contrib import admin
from django . urls import include , path
# ...
urlpatterns = [
path ( "i18n/" , include ( "django.conf.urls.i18n" )),
]
urlpatterns += i18n_patterns ( path ( "admin/" , admin . site . urls ))Ich habe eine Anwendung mit einigen Kreuzlängen im Administrator und möchte sie in modalen Fenstern anstelle des gleichen/neuen Fensters öffnen. Wie kann ich es tun?
Sie müssen nur _popup=1 Abfrage-String-Parameter zu den URLs hinzufügen:
url = reverse ( f"admin:myapp_mymodel_change" , args = [ mymodel_instance . pk ])
url = f" { url } ?_popup=1" # clone repository
git clone https://github.com/fabiocaccamo/django-admin-interface.git && cd django-admin-interface
# create virtualenv and activate it
python -m venv venv && . venv/bin/activate
# upgrade pip
python -m pip install --upgrade pip
# install requirements
pip install -r requirements.txt -r requirements-test.txt
# install pre-commit to run formatters and linters
pre-commit install --install-hooks
# run tests
tox
# or
python runtests.py
# or
python -m django test --settings " tests.settings " Beiträge sind immer willkommen. Befolgen Sie diese Schritte für die Einreichung von PRS von guter Qualität:
CI übergeht. Unter MIT -Lizenz veröffentlicht.
django-cache-cleaner -Löschen Sie den gesamten Cache oder einzelne Caches mit dem Befehl admin. ?
django-colorfield -Einfaches Farbfeld für Modelle mit einem schönen Farbpicker im Administrator. ?
django-extra-settings -Konfigurieren und verwalten Sie typisierte zusätzliche Einstellungen mit nur dem Django-Admin.
django-maintenance-mode -Zeigt eine 503-Fehlerseite an, wenn der Wartungsmodus eingeschaltet ist. ?
django-redirects - leitet mit voller Kontrolle weiter. ↪️
django-treenode - wahrscheinlich das beste abstrakte Modell / Administrator für Ihr baumbasiertes Zeug. ?
python-benedict -DICT-Unterklasse mit Keylist/Tastatur-Unterstützung, E/O-Verknüpfungen (Base64, CSV, JSON, Gurke, Plist, Abfrage-String, Toml, XML, YAML) und viele Dienstprogramme.
python-codicefiscale - italienische Fiskalcodes codieren/dekodieren - Codifica/decodifica del Codice Fiscale. ? ?
python-fontbro - Freundliche Schriftart der Schriftart. ?
python-fsutil -Dateisystem-Dienstprogramme für faule Entwickler. ? Eitung