01.04
Em meu último trabalho com Django a pouco mais de 2 meses surgiu a necessidade de alterar o ‘changelist’ de uma determinada área registrada no admin (assinantes da newsletter), sendo necessário criar um botão que gerasse um arquivo csv. Primeiramente fiz da forma que sempre faço para alterar templates no admin do Django, copiei o arquivo do template na pasta do Django, e na pasta templates do meu projeto copiei o arquivo realizando as devidas alterações.
Entretanto, dessa forma o botão apareceu em todas as áreas (imoveis, bairros, destaques…), sendo totalmente oposto ao que eu queria fazer. Depois de uma boa procura na documentação, encontrei a solução para o problema, deixando-me besta de tão simples de ser realizado.
1 class NewsletterAdmin(admin.ModelAdmin):2 list_display = ['nome', 'email']3 search_fields = ['nome', 'email']4 5 change_list_template = 'diretorio_templates_projeto/nome_template.html'6 7 admin.site.register(Newsletter, NewsletterAdmin)
Na linha 07 faço a referência para onde essa área do admin deve procurar seu template, e assim, somente na área de newsletter haverá o botão de ‘Gerar arquivo CSV’.
Obs: em um próximo post irei ensinar como gerar arquivos csv’s no Django.
Não há comentários ainda.
Deixe seu comentário