1. Introdução ao Django Admin
Django Admin é uma ferramenta de back-end de gerenciamento que vem com a estrutura Django. Ele permite que os desenvolvedores gerenciem facilmente modelos de dados em aplicativos por meio de uma interface web intuitiva. Admin fornece operações modelo CRUD (Criar, Ler, Atualizar, Excluir), bem como processamento em lote de dados e funções de pesquisa, o que simplifica muito o gerenciamento diário do banco de dados. Não é apenas adequado para a fase de desenvolvimento, mas também muito adequado para manutenção de dados no ambiente de produção.
2. Personalização da interface administrativa
Django Admin oferece diversas opções de personalização, permitindo que os desenvolvedores ajustem a interface de acordo com as necessidades do projeto.
- Modelos de administração personalizados : você pode alterar a aparência da interface de administração criando modelos personalizados,
AD: Página inicial | Uma plataforma online eficiente que cobre uma ampla gama de ferramentas de tópico, como modificaçãoadmin/base_site.html
. - Admin CSS e JavaScript personalizados :
settings.py
arquivos CSS e JavaScript personalizados podem ser adicionados para alterar o estilo e o comportamento do Admin.
2.2 Use a classe Admin para configuração avançada
Django Admin usa a classe Admin para configurar a interface de gerenciamento do modelo.
- Criar classe Admin : Em
admin.py
, crie uma classe Admin para cada modelo, por exemploclass MyModelAdmin(admin.ModelAdmin): ...
. - Registrar classe Admin : Use
admin.site.register(MyModel, MyModelAdmin)
o modelo de registro e sua classe Admin correspondente. - Opções de configuração : Na classe Admin, você pode definir várias opções, como
list_display
especificar os campos exibidos na página da lista,search_fields
adicionar uma caixa de pesquisa, etc.
2.3 Gerenciamento de campos e conjuntos de campos
- Gerenciamento de campos
fields
: você pode usar o atributo ou na classe Adminfieldsets
para controlar a exibição de campos na página de edição. - Conjuntos de campos :
fieldsets
permitem que os campos sejam agrupados para fornecer uma melhor experiência ao usuário,fieldsets = [('基本信息', {'fields': ['name', 'description']}), ...]
por exemplo.
2.4 Otimização de páginas de lista
- Personalize a visualização da lista : use
list_display
os campos para controlar a exibição da página da lista,list_filter
adicionar filtros eordering
definir a classificação padrão. - Adicionar botões de ação : use
actions
atributos para adicionar ações em massa, como exclusão em massa ou marcação como lida.
2.5 Usando modelos embutidos
Os modelos inline permitem que o modelo associado seja editado diretamente na página de edição do modelo pai.
- Defina um modelo inline : use o atributo na classe Admin
inlines
, por exemploclass RelatedModelInline(admin.TabularInline): model = RelatedModel
. - Use modelos embutidos : adicione modelos embutidos na classe Admin do modelo pai, como
inlines = [RelatedModelInline]
.
3 Personalização e expansão do admin
3.1 Personalizar modelo de administração
- Modelo Admin personalizado : Django Admin permite que você personalize a aparência e o comportamento da interface Admin, incluindo a modificação da aparência de listas de modelos, formulários e páginas de detalhes.
- Estilo de administração personalizado : você pode ajustar o estilo da interface de administração substituindo o modelo de administração ou usando CSS personalizado.
3.2 Usando ações administrativas
- Ações administrativas : Django Admin fornece a função de ações administrativas, que permite processar objetos em lote na interface Admin, como exclusão em lote, exportação e outras operações.
- Ações administrativas personalizadas : você pode escrever ações administrativas personalizadas para executar operações em lote específicas.
3.3 Integrar aplicativos de terceiros
- Integração de aplicativos de terceiros : o Django permite integrar facilmente aplicativos de terceiros. Ao instalar e configurar aplicativos de terceiros, você pode estender a funcionalidade do Django.
3.4 Internacionalização e localização
- Internacionalização : Django fornece suporte de internacionalização, permitindo que você localize seu aplicativo em vários idiomas.
- Localização : os aplicativos podem ser facilmente localizados em diferentes idiomas e regiões usando as ferramentas de internacionalização e mecanismos de tradução integrados do Django.
3.5 Usando Django REST Framework para desenvolvimento de API
- Django REST Framework : DRF é uma ferramenta poderosa e flexível para construir APIs web. Ele fornece funções ricas, incluindo serialização, visualizações, autenticação, permissões, etc.
- Desenvolvimento de API : por meio do DRF, você pode construir rapidamente uma API que esteja em conformidade com os princípios de design RESTful e fornecer interfaces de dados para aplicativos móveis, estruturas front-end ou outros serviços.
Exemplos de personalização de código:
# Register your models here.
from django.db import models
from blog.models import Article
admin.site.site_header= "自动化测试平台"
admin.site.site_title= "自动化测试平台"
#@admin.register(Article)
class ArticleAdmin(admin.ModelAdmin):
#编辑要显示的信息
list_display = ["title","brief_content","publish_date"]
#list_filter = ['title']
#搜索的字段
search_fields = ['title', 'brief_content']
admin.site.register(Article,ArticleAdmin)