Django admin ou criar meu próprio admin???

485 views
Skip to first unread message

Guilherme Medeiros

unread,
Jul 19, 2012, 8:50:11 AM7/19/12
to django Brasil
OLÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ENFERMEIRAAAAAAAA!!!!!!


### um rápido background sobre mim, se não interessar pule para a questão

Já estou estudando Django a quase 1 ano. Não sou experiente pois ainda não coloquei o django em prática em nenhum projeto.
Tenho 6 anos de experiência em PHP e para estudar esse framework do sucesso fico traduzindo alguns projetos que eu fiz do PHP para o Django.
É um ótimo exercício. :)



## A dúvida (essa é a parte que todo mundo deve ler)

Eu sei que o Django-admin é super-supimpa e faz todos os crud's para nossa alegria.
Mas, e quanto a operações mais específicas?

O problema:

Tenho um pequeno projetinho de notícias. (apenas para estudo/teste)
Um usuário entra no 'site' e cadastra uma noticia. Essa notícia fica pendente.
Então, um administrador tem a sua pagininha especial onde ele libera ou nega as notícias cadastradas.

A idéia é simples: quando o admin entra na página de liberação, ele tem a noticia na cara dele com os botões 'liberar' e 'negar'.
Caso aperte um botão, a ação de liberar ou negar ocorre e um email é disparado para o usuário que criou a noticia.

Ai, outra notícia é carregada na frente do admin, novamente com os botões.
E assim vai até não ter mais nenhuma notícia pendente de moderação.


A dúvida:

No caso deste projeto, e de outros parecidos onde as ações do administrador não são tão básicas quanto um CRUD (ações onde deve existir um workflow), é melhor utilizar o Django admin ou criar seu próprio admin?



Atenciosamente,

 

Guilherme Medeiros

Web Developer FTW!


Socialize: Blog RSS LinkedIn Twitter

Avraham Serour

unread,
Jul 19, 2012, 9:19:20 AM7/19/12
to django...@googlegroups.com
voce pode construir alguma coisa expecifica em cima do admin em vez de fazer do zero, voce pode extender o admin para implementar o seu workflow ou dashboard

2012/7/19 Guilherme Medeiros <guicar...@gmail.com>

--
Django Brasil em Google Groups <http://groups.google.com.br/group/django-brasil>
Associe-se à Python Brasil e suporte nossa comunidade! <http://associacao.python.org.br/>

Charles Sartori

unread,
Jul 19, 2012, 10:19:50 AM7/19/12
to django...@googlegroups.com
Veja ai se algo desse tipo serve para você:

https://docs.djangoproject.com/en/1.4/ref/contrib/admin/actions/#admin-actions

--
*Charles Sartori

Gilson Filho

unread,
Jul 19, 2012, 10:27:56 AM7/19/12
to django...@googlegroups.com
É bom usar o django admin sim, porque no seu caso não faz com que o painel administrativo customizado demais.

Creio que situações que o django admin não é bom, é quando começa a ficar custoso, personalizá-lo para as suas necessidades.

_________________________________________________
Gilson Filho
Desenvolvedor Web
http://gilsondev.com

d4n1

unread,
Jul 19, 2012, 2:42:29 PM7/19/12
to django...@googlegroups.com
Eu uso o django-admin em quase tudo, até sistemas de pequeno/médio porte eu uso o django-admin. Porém como o Gilson falou, depende do projeto. Se for algo muito customizado, você pode criar seu próprio admin, extendendo o django-admin se não quiser fazer tudo do zero. Também pode usar plugins de dashboard, skins como o grappelli e outros. Há um mundo a se explorar.

Em resumo, use o django-admin e customize, pois tudo vai depender do projeto e a demanda do cliente.

--
Django Brasil em Google Groups <http://groups.google.com.br/group/django-brasil>
Associe-se à Python Brasil e suporte nossa comunidade! <http://associacao.python.org.br/>



--
class Myself(Developer):
    def __init__(self):
        self.name = "Daniel Melo"
        self.nickname = "d4n1"
  
    def about(self):
        """
            Developer Python, 
            SysAdmin GNU/Linux, 
            Archlinux and Gnome User, 
            Degree in Systems Analysis and Development Graduate.
            Student in Software Engineering,
            Technician Analysis and  System. 
            Technical Project and Network Administration, 
            Linux Certification (LPI-1), 
            Designer, Bassist, skater...
        """
        return self.nickname

Carlos Leite

unread,
Jul 19, 2012, 10:38:44 PM7/19/12
to django...@googlegroups.com


Tenho desenvolvido projetos django há um bom tempo.
Minha opinião é a seguinte. 
Se existe uma interface para o ususário isso não é o admin.
Admin, é pra eu usar enquanto desenvolvo, ou dar uma olhada nos dados do sistema quando em produção;

Interface de usuário é criada!  
e isso no django não é nada de retrabalho, pra isso existem as generic_views. Pra vc nao ter retrabalho.
vc não precisa usar o admin pra reaproveitar código no django.
Seu cliente compra o que ele vê! e isso é boa parte uma interface e suas funcionalidades. Então , na minha opinião vale sempre a pena.

Não estou falando que contrato um designer pra fazer o layout de meus sistemas, hoje em dia, uso o muito o Bootstrap twitter + jquery.
Com isso dou pro meu cliente uma interface agradável, e que funciona como ele quer, sem ter que estudar o admin pra alterar seu comportamento.

Após algum tempo desenvolvendo apps django, dá pra ter uma belo conjunto de rotinas js que tornam o desenvolvimento da interface muito tranquilo, e excelente pro usuário.
--
---------------------------------
Cadu Leite




rdenadai

unread,
Jul 20, 2012, 7:04:08 AM7/20/12
to django...@googlegroups.com
Acredito que depende muito!

- Qual a quantidade de funcionalidades extras que os usuários poderão ter acesso?
- Vai dar muito retrabalho ficar alterando a interface do django? 
- A interface do django admin tem o mesmo padrão da interface do site/sistema q vc esta construindo?
- É melhor pro cliente (tempo/custo/funcionalidade) fazer essa customização no admin ou criar um novo?

O que o Cadu Leite falou pra mim faz sentido... mas claro que muitas vezes a interface padrão pode te ajudar bastante!

Normalmente eu uso o admin para mim mesmo (ADMIN do sistema), para os usuários, eu prefiro gastar um tempo e fazer uma interface ( se tiver tempo para isso claro! :D ).

falowaer

Rafael Alencar

unread,
Jul 20, 2012, 8:40:24 AM7/20/12
to django...@googlegroups.com
Concordo com o Carlos Leite.

No Django Book [1] o autor deixa isso bem claro:

"One final point we want to make clear is: the admin site is not an end-all-be-all. Over the years, we’ve seen it hacked and chopped up to serve a variety of functions it wasn’t intended to serve. It’s not intended to be a public interface to data, nor is it intended to allow for sophisticated sorting and searching of your data. As we said early in this chapter, it’s for trusted site administrators. Keeping this sweet spot in mind is the key to effective admin-site usage."

[1] http://www.djangobook.com/en/2.0/chapter06/

[ ]'s

Rafael Alencar

Gilson Filho

unread,
Jul 20, 2012, 8:57:49 AM7/20/12
to django...@googlegroups.com
Então, um administrador tem a sua pagininha especial onde ele libera ou nega as notícias cadastradas.

Mas pelo que entendi, o Guilherme vai usar o admin para acesso administrativo e não para o usuário usar.

--

Guilherme Medeiros

unread,
Jul 20, 2012, 9:04:48 AM7/20/12
to django...@googlegroups.com
Na verdade, na minha idéia, a página seria para um usuário administrador, não um super-admin.

Mas o que eu queria mesmo com a minha dúvida, e consegui, era gerar esse debate sobre o que era melhor: Se é usar o django-admin ou usar um admin customizado.

:D



Atenciosamente,

 

Guilherme Medeiros

Web Developer FTW!


Socialize: Blog RSS LinkedIn Twitter


Diego Manenti Martins

unread,
Jul 20, 2012, 1:13:31 PM7/20/12
to django...@googlegroups.com
2012/7/20 Guilherme Medeiros <guicar...@gmail.com>
>
> Na verdade, na minha idéia, a página seria para um usuário administrador,
> não um super-admin.

Pra usar o admin não precisa ser um super admin. Basta estar no grupo
staff e as permissões podem ser setadas por usuário/grupo e ele só vai
ter acesso a parte do sistema.

> Mas o que eu queria mesmo com a minha dúvida, e consegui, era gerar esse
> debate sobre o que era melhor: Se é usar o django-admin ou usar um admin
> customizado.

Debates sobre o que é melhor nunca tem um vencedor e podem ainda
confundir mais quem está perguntando.


--
diego

Guilherme Medeiros

unread,
Jul 20, 2012, 1:17:58 PM7/20/12
to django...@googlegroups.com
Por isso que é um debate, e não uma competição.


Com certeza quem opta por uma das duas opções tem seus motivos, podendo ser um bom ou um péssimo motivo.
Se debatermos, cada um com sua opinião, os que tiverem a mente aberta podem aprender coisas novas, ter novas opções e conhecer novos pontos de vista.




Atenciosamente,

 

Guilherme Medeiros

Web Developer FTW!


Socialize: Blog RSS LinkedIn Twitter


Gink Labrev

unread,
Jul 23, 2012, 9:38:59 AM7/23/12
to django...@googlegroups.com
Não vi dificuldade.
Basta acrescenta um BooleanField ao model.
Adicioná-lo a página de administração e listagem do model.
E adicionar ao model um sinal presave, comparando o valor antigo com o novo.
Se forem diferentes, manda um email.


Em sexta-feira, 20 de julho de 2012, Guilherme Medeiros<guicar...@gmail.com> escreveu:
> Por isso que é um debate, e não uma competição.
>
>
> Com certeza quem opta por uma das duas opções tem seus motivos, podendo ser um bom ou um péssimo motivo.
> Se debatermos, cada um com sua opinião, os que tiverem a mente aberta podem aprender coisas novas, ter novas opções e conhecer novos pontos de vista.
>
>
>
> Atenciosamente,
>
>  
>
> Guilherme Medeiros
>
> Web Developer FTW!
>
> Socialize:
>
>
Reply all
Reply to author
Forward
0 new messages