La interfaz Django-Admin es una interfaz de administrador plana de respuesta moderna personalizable por el propio administrador .

NEW incrustaciones plegablesNEW campos de campos y incrustacionesNEW enlaces de eliminación de filtros de listaNEW filtro de lista resalta las opciones seleccionadasdjango-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 y colorfield a settings.INSTALLED_APPS antes de 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 --clearAdvertencia
Si desea usar modales en lugar de ventanas emergentes, asegúrese de agregar X_FRAME_OPTIONS = "SAMEORIGIN" .
Para hacer que un campos comience a expandirse con un botón Hide para colapsar, agregue la clase "expanded" a sus clases:
class MyModelAdmin ( admin . ModelAdmin ):
# ...
fieldsets = [
( "Section title" , {
"classes" : ( "collapse" , "expanded" ),
"fields" : (...),
}),
]
# ... Este paquete se envía con temas opcionales como accesorios, se pueden instalar utilizando el comando LoadData Admin. Los temas opcionales se activan en la instalación.
Ejecutar python manage.py loaddata admin_interface_theme_django.json
Ejecutar python manage.py loaddata admin_interface_theme_bootstrap.json
Ejecutar python manage.py loaddata admin_interface_theme_foundation.json
Ejecutar python manage.py loaddata admin_interface_theme_uswds.json
Puede agregar un tema que ha creado a través del administrador a este repositorio enviándonos un PR. Aquí están los pasos a seguir para agregar:
Exporte su tema exacto como accesorio utilizando el comando dumpdata Admin: python manage.py dumpdata admin_interface.Theme --indent 4 -o admin_interface_theme_{{name}}.json --pks=N
Copie el archivo JSON generado en la carpeta de accesorios (asegurándose de que su nombre comience con admin_interface_theme_ para evitar enfrentamientos con accesorios que podrían proporcionar otras aplicaciones de terceros) .
Retire el pk del accesorio y asegúrese de que el campo active esté configurado en true (de esta manera, se activa automáticamente un tema cuando se instala) .
Edite la sección anterior para documentar su tema.
Puede agregar soporte de tema a las bibliotecas de terceros existentes utilizando las siguientes variables CSS :
--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 Por el momento, este paquete se ha traducido a los siguientes idiomas: de , es , fa , fr , it , pl , pt_BR , tr .
Ejecutar python -m django makemessages --ignore ".tox" --ignore "venv" --add-location "file" --extension "html,py" --locale "it" (ejemplo para la localización italiana)
Actualizar traducciones en admin_interface/locale/it/LC_MESSAGES/django.po
Run python -m django compilemessages --ignore ".tox" --ignore "venv"
Si realiza algunos cambios en el proyecto, recuerde actualizar las traducciones, porque si los archivos de traducciones no están actualizados, el paso lint en el CI fallará:
tox -e translations Este paquete utiliza almacenamiento en caché para mejorar el tiempo de carga del tema y el rendimiento general. Puede personalizar las opciones de almacenamiento en caché de la aplicación usando la configuración settings.CACHES["admin_interface"] , de lo contrario se utilizará el caché "default" :
CACHES = {
# ...
"admin_interface" : {
"BACKEND" : "django.core.cache.backends.locmem.LocMemCache" ,
"TIMEOUT" : 60 * 5 ,
},
# ...
}Advertencia
Existe un problema de compatibilidad conocido cuando se usa este paquete con django-redis , más específicamente, utilizando el JSONSerializer se plantea el siguiente error: TypeError: Object of type Theme is not JSON serializable , para mitigar este problema, simplemente use un caché específico para esta aplicación que no usa ningún serializador json .
base-site.html Custom.htmlYa tengo una
base_site.htmlpersonalizada, ¿cómo puedo hacer que funcione?
Puede usar django-appSplates, luego agregar {% extends "admin_interface:admin/base_site.html" %} a su base_site.html
LocaleMiddlewareEstoy usando una subclase
django.middleware.locale.LocaleMiddleware, pero veo una advertencia innecesaria para faltardjango.middleware.locale.LocaleMiddleware, ¿qué puedo hacer?
Simplemente puede ignorar la advertencia (esto se ha discutido aquí)
import warnings
warnings . filterwarnings ( "ignore" , module = "admin_interface.templatetags.admin_interface_tags" )He habilitado el selector de idiomas , pero no es visible en el administrador, ¿qué debo hacer?
Debe configurar settings y urls de varios idiomas correctamente:
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 ))Tengo una aplicación con algunos enlaces cruzados en el administrador y me gustaría abrirlos en ventanas modales en lugar de la misma/nueva ventana, ¿cómo puedo hacerlo?
Solo necesita agregar _popup=1 parámetro de cuerda de consulta a las URL:
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 " Las contribuciones siempre son bienvenidas, siga estos pasos para enviar PRS de buena calidad:
CI . Liberado bajo la licencia MIT.
django-cache-cleaner : borre todo el caché o los cachés individuales fácilmente usando el panel de administración o el comando de administración. ?
django-colorfield : campo de color simple para modelos con un bonito recipiente de color en el administrador. ?
django-extra-settings : configure y administre configuraciones adicionales tipadas utilizando solo el administrador de Django.
django-maintenance-mode : muestra una página de error 503 cuando el modo de mantenimiento está encendido. ?
django-redirects : redirige con control total. ↪️
django-treenode : probablemente el mejor modelo / administrador abstracto para sus cosas basadas en árboles. ?
python-benedict : subclase DICT con soporte de keylist/keypath, atajos de E/S (Base64, CSV, JSON, Pickle, Plist, Consulta, TomL, XML, YAML) y muchas utilidades.
python-codicefiscale - Codos fiscales italianos de Code/Decode - Codifica/Decodifica del Codice Fiscale. ? ?
python-fontbro : operaciones de fuentes amigables. ?
python-fsutil -Utilidades del sistema de archivos para desarrolladores perezosos. ? ️