Django-Admin-Interface é uma interface de administrador plana moderna e responsiva personalizável pelo próprio administrador .

NEW inlines dobráveisNEW Fieldsets e InlinesNEW links de remoção de filtro de listaNEW FILTO DE LISTA Opções selecionadasdjango-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 e colorfield ao 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 --clearAviso
Se você deseja usar modais em vez de janelas pop -up, adicione X_FRAME_OPTIONS = "SAMEORIGIN" .
Para fazer com que o Fieldset comece expandido com um botão Hide para entrar em colapso, adicione a classe "expanded" às suas classes:
class MyModelAdmin ( admin . ModelAdmin ):
# ...
fieldsets = [
( "Section title" , {
"classes" : ( "collapse" , "expanded" ),
"fields" : (...),
}),
]
# ... Este pacote é fornecido com temas opcionais como acessórios, eles podem ser instalados usando o comando loaddata admin. Os temas opcionais são ativados na instalação.
Run python manage.py loaddata admin_interface_theme_django.json
Run python manage.py loaddata admin_interface_theme_bootstrap.json
Run python manage.py loaddata admin_interface_theme_foundation.json
Run python manage.py loaddata admin_interface_theme_uswds.json
Você pode adicionar um tema que você criou através do administrador a este repositório enviando um PR. Aqui estão as etapas a seguir para adicionar:
Export seu tema exato como equipamento usando o comando dumpdata admin: python manage.py dumpdata admin_interface.Theme --indent 4 -o admin_interface_theme_{{name}}.json --pks=N
Copie o arquivo JSON gerado na pasta Finetures (certificando -se de que seu nome inicie com admin_interface_theme_ para evitar confrontos com acessórios que podem ser fornecidos por outros aplicativos de terceiros) .
Remova o pk do acessório e verifique se o campo active está definido como true (dessa maneira, um tema é ativado automaticamente quando instalado) .
Edite a seção acima para documentar seu tema.
Você pode adicionar suporte ao tema às bibliotecas de terceiros existentes usando as seguintes variáveis 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 No momento, este pacote foi traduzido para os seguintes idiomas: de , es , fa , fr , it , pl , pt_BR , tr .
Execute python -m django makemessages --ignore ".tox" --ignore "venv" --add-location "file" --extension "html,py" --locale "it" (exemplo para localização italiana)
Atualizar traduções em admin_interface/locale/it/LC_MESSAGES/django.po
Run python -m django compilemessages --ignore ".tox" --ignore "venv"
Se você fizer algumas alterações no projeto, lembre-se de atualizar as traduções, porque se os arquivos de traduções não estiverem atualizados, a etapa lint no CI falhará:
tox -e translations Este pacote usa o cache para melhorar o tempo de carregamento do tema e o desempenho geral. Você pode personalizar as opções de cache de aplicativos usando settings.CACHES["admin_interface"] , caso contrário, o cache "default" será usado:
CACHES = {
# ...
"admin_interface" : {
"BACKEND" : "django.core.cache.backends.locmem.LocMemCache" ,
"TIMEOUT" : 60 * 5 ,
},
# ...
}Aviso
Existe um problema de compatibilidade conhecido ao usar este pacote com django-redis , mais especificamente, usando o JSONSerializer o seguinte erro é levantado: TypeError: Object of type Theme is not JSON serializable , para mitigar esse problema, basta usar um cache específico para este aplicativo que não usa o Serializer json .
base-site.html personalizado.htmlEu já tenho um
base_site.htmlpersonalizado, como posso fazê -lo funcionar?
Você pode usar django-apptemplates e adicionar {% extends "admin_interface:admin/base_site.html" %} ao seu base_site.html
LocaleMiddleware personalizadoEstou usando uma subclasse
django.middleware.locale.LocaleMiddleware, mas vejo um aviso desnecessário por falta dedjango.middleware.locale.LocaleMiddleware, o que posso fazer?
Você pode simplesmente ignorar o aviso (isso foi discutido aqui)
import warnings
warnings . filterwarnings ( "ignore" , module = "admin_interface.templatetags.admin_interface_tags" )Eu habilitei o selecionador de idiomas , mas não é visível no administrador, o que devo fazer?
Você deve definir settings e urls multilanguage corretamente:
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 ))Eu tenho um aplicativo com algumas ligações cruzadas no administrador e gostaria de abri-las em janelas modais em vez da mesma/nova janela, como posso fazer?
Você só precisa adicionar _popup=1 parâmetro de cordão de consulta aos URLs:
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 " As contribuições são sempre bem -vindas, siga estas etapas para enviar PRs de boa qualidade:
CI . Liberado sob licença do MIT.
django-cache-cleaner -Limpe o cache inteiro ou os caches individuais facilmente usando o painel de administrador ou o comando de gerenciamento. ?
django-colorfield -Campo de cores simples para modelos com um bom preenchimento de cores no administrador. ?
django-extra-settings -Configurar e gerenciar configurações extras digitadas usando apenas o administrador do Django.
django-maintenance-mode -mostra uma página de erro 503 quando o modo de manutenção está ligado. ?
django-redirects - redireciona com controle total. ↪️
django-treenode - Provavelmente o melhor modelo / administrador abstrato para suas coisas baseadas em árvores. ?
Subclasse python-benedict -Dict com suporte de keylist/Keypath, atalhos de E/S (Base64, CSV, JSON, Pickle, Plist, Carrinho de Consulta, Toml, XML, Yaml) e muitos utilitários.
python-codicefiscale - Codes fiscais italianos codificados/decodificações - codifica/decodifica del Codice Fischale. ? ?
python-fontbro - Operações de fonte amigável. ?
python-fsutil -Utilitários de sistema de arquivos para desenvolvedores preguiçosos. ? ♂️