Django: A melhor prática para implementar CRUD fora do contrib.admin
-
22-07-2019 - |
Pergunta
Atualmente estou desenvolvendo um projeto Blog usando Post modelo, que será utilizado por vários autores.
Eu quero fazer uma interface de administração / controle do painel onde cada autor do post pode ver a lista Publicar o autor criou (para que ele não vai ver o Post criado por outros autores), editar e múltipla-delete -los.
?caso de uso válido para django administrador disse que:
a administração do Django não é adequado para perfis de utilizadores individuais, cada utilizador seria capaz de ver e editar todos outros perfis de usuário. Este é adequado mais para um administrador que tenha a gerenciar todos os usuários ao mesmo tempo.
Isso significa que um novo sistema CRUD deve ser criado - fora a interface contrib.admin. Então a pergunta é, existe alguma técnica / caminho existente para implementar o CRUD fora do sistema contrib.admin? ou, o que eu preciso para estudar / uso? como posso implementá-lo bem (o esforço mínimo)?
Agradecemos antecipadamente:)
Solução
Este é bastante fácil de fazer por aprimorando a administração do Django. Se esta é a única razão para abandonar contrib.admin então você pode querer google para alguns artigos recentes sobre a personalização da administração antes de ir em frente e deitar fora o bebé com a água do banho.
Eu encontrei alguns prováveis ??candidatos:
- http://patrickbeeson.com / blog / 2008 / ago / 11 / how-criar-user-específico-admin-Django /
- http://www.djangosnippets.org/snippets/1054/
e, em geral: http: // www. ibm.com/developerworks/opensource/library/os-django-admin/index.html
(note que não havia uma técnica antiga que usava uma tópicos corte local. Isso não é mais necessário, pois há melhores maneiras de fazer isso. A menção a este é um sinal claro o artigo está fora de data.)
Outras dicas
Você vai querer olhar para o Django genérico criar / atualizar formas . Não é o admin, mas é bastante fácil de implementar.
Verifique esta aplicação: https://github.com/05bit/django-smarter .
Não é bem documentado ainda, mas eu já usei isso em um par de projectos.
Em Django 1.3, as "views genéricas" (formulários CRUD) mudaram de ser baseado em classes. Consulte aqui .