1
resposta

Há como reaproveitar o CRUD do Django Admin?

Olá, time da Alura! Gostei muito da simplicidade do Django na criação de CRUDs, mas pelo que parece, a interface de Django Admin parece ser mais indicada para ser utilizada na produção, já que fornece um acesso "irrestrito" ao banco de dados. Gostaria de saber se há alguma forma de criar uma interface de usuário, ou seja, uma view para o cadastro de novas imagens na galeria, por exemplo, reaproveitando as funcionalidades presentes no Django Admin? Ou seja, sem a necessidade de criar uma lógica para as 4 operações, já que ela já existe?

1 resposta

Olá Ygor! Tudo bem?

Sobre a sua dúvida, é possível sim reaproveitar algumas funcionalidades do Django Admin ao criar suas próprias views para o usuário final, mas é importante entender que o Django Admin é uma ferramenta voltada para administração e não para ser exposta diretamente aos usuários finais.

Para criar uma interface de usuário que aproveite algumas funcionalidades do Django Admin, você pode utilizar o conceito de "Generic Views" do Django. As "Generic Views" permitem que você crie operações comuns, como listagem, criação, atualização e exclusão, de forma mais rápida e com menos código. Elas não são exatamente o mesmo que o Django Admin, mas ajudam a simplificar o processo de criação de CRUDs.

Por exemplo, você pode usar a CreateView para criar novas imagens na galeria:

from django.views.generic.edit import CreateView
from .models import Fotografia

class FotografiaCreateView(CreateView):
    model = Fotografia
    fields = ['nome', 'legenda', 'descricao']
    template_name = 'sua_template.html'
    success_url = '/galeria/'

Com isso, você cria uma view que permite adicionar novas fotografias, semelhante ao que o Django Admin faz, mas em uma interface que você pode personalizar completamente para o usuário final.

Lembre-se de que, ao criar suas próprias views, você tem controle total sobre quem pode acessá-las e quais dados podem ser manipulados, o que é essencial para a segurança da sua aplicação.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.