Trabajando sobre el Admin de Django

86 views
Skip to first unread message

Leonardo Caballero

unread,
Jul 15, 2013, 8:55:45 AM7/15/13
to python-v...@googlegroups.com
Hola a todos

Estoy ayudando a Aguasanta Garcia [0], activista de Software Libre de GNU Venezuela como tutor en sus tesis de grado, esta haciendo su sistema de registro de pasantías con Django.

Esta experiencia ha sido muy gratificante ver que menos de cuatro horas de explicación entendió el Framework y el lenguaje y tenia hecho gran parte de sus modelos mediante la interfaz administrativa de Django. Definitivamente tenemos una nueva pythonista :D

Ahora estamos necesitando hacer unas cosas:

1) Agregar validadores personalizados de RIF y Cedula a los formularios que genera el admin en base a modelos Django, si utilizar forms y vistas personalizables es esto posible? la mayoría de los casos usan forms y templates personalizables mas en nuestro casos queremos usar las vista que genera el admin Django

2) Necesitamos agregar nuevas funciones administrativas a la interfaz del admin Django, la idea es que podamos hacer esto a traves de aplicaciones que sobre escriba o sobre pone las personalizaciones de las plantillas del admin de Django sin tocar las plantillas ni código originales del core de Django, es esto posible ? como se haría? hay algún ejemplo de guía ?

3) Necesitamos generar reportes en base a modelos, que librería recomiendan utilizar para esto ?

Espero puedan orientarnos mejor :D

[0] https://twitter.com/h2o_santa

--
Atentamente

T.S.U. Leonardo Caballero
Linux Counter ID = https://linuxcounter.net/user/369081.html
Key fingerprint = 9FD2 DC71 38E7 A1D1 57F5  1D29 04DE 43BC 8A27 424A

/me Corriendo Debian Wheezy y Canaina GNU/Linux 3
/me Cree "El Conocimiento Humano le Pertenece al Mundo"

Israel

unread,
Jul 15, 2013, 10:24:58 AM7/15/13
to python-v...@googlegroups.com
Epa leonardo, que fino, éxtio con eso.


2013/7/15 Leonardo Caballero <leonardo...@gmail.com>

Hola a todos

Estoy ayudando a Aguasanta Garcia [0], activista de Software Libre de GNU Venezuela como tutor en sus tesis de grado, esta haciendo su sistema de registro de pasantías con Django.

Esta experiencia ha sido muy gratificante ver que menos de cuatro horas de explicación entendió el Framework y el lenguaje y tenia hecho gran parte de sus modelos mediante la interfaz administrativa de Django. Definitivamente tenemos una nueva pythonista :D

Ahora estamos necesitando hacer unas cosas:

1) Agregar validadores personalizados de RIF y Cedula a los formularios que genera el admin en base a modelos Django, si utilizar forms y vistas personalizables es esto posible? la mayoría de los casos usan forms y templates personalizables mas en nuestro casos queremos usar las vista que genera el admin Django

Bueno, acá lo que te diría es que la lógica de validación tendrías que tenerla en el modelo y no en forms, así se ejecutan también cuendo el admin trabaja con ellos.

Podrías hacerlo de dos maneras:

1.- Sobreescribe el método save() y pre-procesa los objetos para validarlos antes de invocar super().save().

2.- Esta pareciera ser la manera correcta. Simplemente, échale un vistazo a los métodos clean() de la clase Model, por lo que veo funciona igual que los de los forms. https://docs.djangoproject.com/en/dev/ref/models/instances/ 

 

2) Necesitamos agregar nuevas funciones administrativas a la interfaz del admin Django, la idea es que podamos hacer esto a traves de aplicaciones que sobre escriba o sobre pone las personalizaciones de las plantillas del admin de Django sin tocar las plantillas ni código originales del core de Django, es esto posible ? como se haría? hay algún ejemplo de guía ?

Alguna vez estuve viendo como hacerlo a manera e aprendizaje personal, te comparto un link que me ayudó bastante: http://www.ibm.com/developerworks/opensource/library/os-django-admin/index.html no se si ya lo revisaste. Si quieres cambiar también como se ve el admin y eso, te recomiendo django-grappelli.
 

3) Necesitamos generar reportes en base a modelos, que librería recomiendan utilizar para esto ?

Qué tipo de reportes?, si incluye gráficos y eso, te recomiendo usar google charts, creo que es lo más fácil. https://developers.google.com/chart/
 

Espero puedan orientarnos mejor :D

Espero te sirva de algo.

 

[0] https://twitter.com/h2o_santa

--
Atentamente

T.S.U. Leonardo Caballero
Linux Counter ID = https://linuxcounter.net/user/369081.html
Key fingerprint = 9FD2 DC71 38E7 A1D1 57F5  1D29 04DE 43BC 8A27 424A

/me Corriendo Debian Wheezy y Canaina GNU/Linux 3
/me Cree "El Conocimiento Humano le Pertenece al Mundo"

--
Este es un mensaje del foro Python de Venezuela.
Para suscripciones y retiros: http://goo.gl/ug9by
---
Has recibido este mensaje porque estás suscrito al grupo "Python Venezuela" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a python-venezue...@googlegroups.com.
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.
 
 



--
Israel Fermín Montilla

Flaper87

unread,
Jul 15, 2013, 10:53:02 AM7/15/13
to python-v...@googlegroups.com
El 15 de julio de 2013 16:24, Israel <fermi...@gmail.com> escribió:
2013/7/15 Leonardo Caballero <leonardo...@gmail.com>
Hola a todos

Estoy ayudando a Aguasanta Garcia [0], activista de Software Libre de GNU Venezuela como tutor en sus tesis de grado, esta haciendo su sistema de registro de pasantías con Django.

Esta experiencia ha sido muy gratificante ver que menos de cuatro horas de explicación entendió el Framework y el lenguaje y tenia hecho gran parte de sus modelos mediante la interfaz administrativa de Django. Definitivamente tenemos una nueva pythonista :D

Ahora estamos necesitando hacer unas cosas:

1) Agregar validadores personalizados de RIF y Cedula a los formularios que genera el admin en base a modelos Django, si utilizar forms y vistas personalizables es esto posible? la mayoría de los casos usan forms y templates personalizables mas en nuestro casos queremos usar las vista que genera el admin Django

Bueno, acá lo que te diría es que la lógica de validación tendrías que tenerla en el modelo y no en forms, así se ejecutan también cuendo el admin trabaja con ellos.

Podrías hacerlo de dos maneras:

1.- Sobreescribe el método save() y pre-procesa los objetos para validarlos antes de invocar super().save().

A pesar de que sobreescribir el método save() no es errado, yo no lo sugiero. En el flujo de django, este método no está hecho para ser sobreescrito, es por ello que se agregaron metodos como clean(). 


2.- Esta pareciera ser la manera correcta. Simplemente, échale un vistazo a los métodos clean() de la clase Model, por lo que veo funciona igual que los de los forms. https://docs.djangoproject.com/en/dev/ref/models/instances/ 

+1 por clean(), IIRC, tienes que llamarlo manualmente.


2) Necesitamos agregar nuevas funciones administrativas a la interfaz del admin Django, la idea es que podamos hacer esto a traves de aplicaciones que sobre escriba o sobre pone las personalizaciones de las plantillas del admin de Django sin tocar las plantillas ni código originales del core de Django, es esto posible ? como se haría? hay algún ejemplo de guía ?

Alguna vez estuve viendo como hacerlo a manera e aprendizaje personal, te comparto un link que me ayudó bastante: http://www.ibm.com/developerworks/opensource/library/os-django-admin/index.html no se si ya lo revisaste. Si quieres cambiar también como se ve el admin y eso, te recomiendo django-grappelli.


También te recomiendo echarle un ojo a django-cms. Dicha app sobre escribe / pone muchas cosas en el admin de django. https://www.django-cms.org/en/
 

Espero puedan orientarnos mejor :D

Espero te sirva de algo.

Podrías también echarle un ojo a django-admin2 (Nació como "hack" en la ultima DjangoCon pero va por buen camino) https://github.com/pydanny/django-admin2

Espero te sirva! Saludos!
FF

--

Israel

unread,
Jul 15, 2013, 1:10:47 PM7/15/13
to python-v...@googlegroups.com



2013/7/15 Flaper87 <flap...@gmail.com>

El 15 de julio de 2013 16:24, Israel <fermi...@gmail.com> escribió:
2013/7/15 Leonardo Caballero <leonardo...@gmail.com>
Hola a todos

Estoy ayudando a Aguasanta Garcia [0], activista de Software Libre de GNU Venezuela como tutor en sus tesis de grado, esta haciendo su sistema de registro de pasantías con Django.

Esta experiencia ha sido muy gratificante ver que menos de cuatro horas de explicación entendió el Framework y el lenguaje y tenia hecho gran parte de sus modelos mediante la interfaz administrativa de Django. Definitivamente tenemos una nueva pythonista :D

Ahora estamos necesitando hacer unas cosas:

1) Agregar validadores personalizados de RIF y Cedula a los formularios que genera el admin en base a modelos Django, si utilizar forms y vistas personalizables es esto posible? la mayoría de los casos usan forms y templates personalizables mas en nuestro casos queremos usar las vista que genera el admin Django

Bueno, acá lo que te diría es que la lógica de validación tendrías que tenerla en el modelo y no en forms, así se ejecutan también cuendo el admin trabaja con ellos.

Podrías hacerlo de dos maneras:

1.- Sobreescribe el método save() y pre-procesa los objetos para validarlos antes de invocar super().save().

A pesar de que sobreescribir el método save() no es errado, yo no lo sugiero. En el flujo de django, este método no está hecho para ser sobreescrito, es por ello que se agregaron metodos como clean().

Totalmente de acuerdo, pero la opción está y es bueno saberlo aunque sea por cultura general ;)
 
 


2.- Esta pareciera ser la manera correcta. Simplemente, échale un vistazo a los métodos clean() de la clase Model, por lo que veo funciona igual que los de los forms. https://docs.djangoproject.com/en/dev/ref/models/instances/ 

+1 por clean(), IIRC, tienes que llamarlo manualmente.


2) Necesitamos agregar nuevas funciones administrativas a la interfaz del admin Django, la idea es que podamos hacer esto a traves de aplicaciones que sobre escriba o sobre pone las personalizaciones de las plantillas del admin de Django sin tocar las plantillas ni código originales del core de Django, es esto posible ? como se haría? hay algún ejemplo de guía ?

Alguna vez estuve viendo como hacerlo a manera e aprendizaje personal, te comparto un link que me ayudó bastante: http://www.ibm.com/developerworks/opensource/library/os-django-admin/index.html no se si ya lo revisaste. Si quieres cambiar también como se ve el admin y eso, te recomiendo django-grappelli.


También te recomiendo echarle un ojo a django-cms. Dicha app sobre escribe / pone muchas cosas en el admin de django. https://www.django-cms.org/en/
 

Espero puedan orientarnos mejor :D

Espero te sirva de algo.

Podrías también echarle un ojo a django-admin2 (Nació como "hack" en la ultima DjangoCon pero va por buen camino) https://github.com/pydanny/django-admin2

Espero te sirva! Saludos!
FF

--

--
Este es un mensaje del foro Python de Venezuela.
Para suscripciones y retiros: http://goo.gl/ug9by
---
Has recibido este mensaje porque estás suscrito al grupo "Python Venezuela" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a python-venezue...@googlegroups.com.
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.
 
 

Leonardo Caballero

unread,
Jul 24, 2013, 1:17:02 PM7/24/13
to python-v...@googlegroups.com
2013/7/15 Israel <fermi...@gmail.com>
Epa leonardo, que fino, éxtio con eso.


Gracias chamo vamos teniendo buenos resultados
 

2013/7/15 Leonardo Caballero <leonardo...@gmail.com>
Hola a todos

Estoy ayudando a Aguasanta Garcia [0], activista de Software Libre de GNU Venezuela como tutor en sus tesis de grado, esta haciendo su sistema de registro de pasantías con Django.

Esta experiencia ha sido muy gratificante ver que menos de cuatro horas de explicación entendió el Framework y el lenguaje y tenia hecho gran parte de sus modelos mediante la interfaz administrativa de Django. Definitivamente tenemos una nueva pythonista :D

Ahora estamos necesitando hacer unas cosas:

1) Agregar validadores personalizados de RIF y Cedula a los formularios que genera el admin en base a modelos Django, si utilizar forms y vistas personalizables es esto posible? la mayoría de los casos usan forms y templates personalizables mas en nuestro casos queremos usar las vista que genera el admin Django

Bueno, acá lo que te diría es que la lógica de validación tendrías que tenerla en el modelo y no en forms, así se ejecutan también cuendo el admin trabaja con ellos.

Podrías hacerlo de dos maneras:

1.- Sobreescribe el método save() y pre-procesa los objetos para validarlos antes de invocar super().save().

2.- Esta pareciera ser la manera correcta. Simplemente, échale un vistazo a los métodos clean() de la clase Model, por lo que veo funciona igual que los de los forms. https://docs.djangoproject.com/en/dev/ref/models/instances/ 


Voy a investigar sobre esto
 
 

2) Necesitamos agregar nuevas funciones administrativas a la interfaz del admin Django, la idea es que podamos hacer esto a traves de aplicaciones que sobre escriba o sobre pone las personalizaciones de las plantillas del admin de Django sin tocar las plantillas ni código originales del core de Django, es esto posible ? como se haría? hay algún ejemplo de guía ?

Alguna vez estuve viendo como hacerlo a manera e aprendizaje personal, te comparto un link que me ayudó bastante: http://www.ibm.com/developerworks/opensource/library/os-django-admin/index.html no se si ya lo revisaste. Si quieres cambiar también como se ve el admin y eso, te recomiendo django-grappelli.
 

Si estamos usando django-grappelli y ademas estamos evaluando usar módulos para crear dashboard en el admin de Django como django-fluent-dashboard http://django-fluent-dashboard.readthedocs.org/en/latest/index.html

 

3) Necesitamos generar reportes en base a modelos, que librería recomiendan utilizar para esto ?

Qué tipo de reportes?, si incluye gráficos y eso, te recomiendo usar google charts, creo que es lo más fácil. https://developers.google.com/chart/

Necesitamos generar reportes o cartas en formato PDF o Word
 
 

Espero puedan orientarnos mejor :D

Espero te sirva de algo.


Gracias por tus aportes

Luis Alberto Santana

unread,
Jul 24, 2013, 1:23:24 PM7/24/13
to python-v...@googlegroups.com
Hola Leonardo,

Le has echado un ojo a django-admin2 [0]? Es una reescritura del módulo de admin, buscando mayor flexibilidad a la hora de extender el admin. Aún está en alpha, pero puedes echarle un vistazo a ver si te sirve. Se instala como una aplicación Django normal.

Saludos.



2013/7/15 Leonardo Caballero <leonardo...@gmail.com>

--

Leonardo Caballero

unread,
Jul 24, 2013, 1:55:18 PM7/24/13
to python-v...@googlegroups.com

2013/7/15 Flaper87 <flap...@gmail.com>

El 15 de julio de 2013 16:24, Israel <fermi...@gmail.com> escribió:
2013/7/15 Leonardo Caballero <leonardo...@gmail.com>
Hola a todos


Epale hermano
 
Estoy ayudando a Aguasanta Garcia [0], activista de Software Libre de GNU Venezuela como tutor en sus tesis de grado, esta haciendo su sistema de registro de pasantías con Django.

Esta experiencia ha sido muy gratificante ver que menos de cuatro horas de explicación entendió el Framework y el lenguaje y tenia hecho gran parte de sus modelos mediante la interfaz administrativa de Django. Definitivamente tenemos una nueva pythonista :D

Ahora estamos necesitando hacer unas cosas:

1) Agregar validadores personalizados de RIF y Cedula a los formularios que genera el admin en base a modelos Django, si utilizar forms y vistas personalizables es esto posible? la mayoría de los casos usan forms y templates personalizables mas en nuestro casos queremos usar las vista que genera el admin Django

Bueno, acá lo que te diría es que la lógica de validación tendrías que tenerla en el modelo y no en forms, así se ejecutan también cuendo el admin trabaja con ellos.

Podrías hacerlo de dos maneras:

1.- Sobreescribe el método save() y pre-procesa los objetos para validarlos antes de invocar super().save().

A pesar de que sobreescribir el método save() no es errado, yo no lo sugiero. En el flujo de django, este método no está hecho para ser sobreescrito, es por ello que se agregaron metodos como clean(). 


2.- Esta pareciera ser la manera correcta. Simplemente, échale un vistazo a los métodos clean() de la clase Model, por lo que veo funciona igual que los de los forms. https://docs.djangoproject.com/en/dev/ref/models/instances/ 

+1 por clean(), IIRC, tienes que llamarlo manualmente.


Voy a revisar estos métodos clean a ver si consigo lo que busco
 

2) Necesitamos agregar nuevas funciones administrativas a la interfaz del admin Django, la idea es que podamos hacer esto a traves de aplicaciones que sobre escriba o sobre pone las personalizaciones de las plantillas del admin de Django sin tocar las plantillas ni código originales del core de Django, es esto posible ? como se haría? hay algún ejemplo de guía ?

Alguna vez estuve viendo como hacerlo a manera e aprendizaje personal, te comparto un link que me ayudó bastante: http://www.ibm.com/developerworks/opensource/library/os-django-admin/index.html no se si ya lo revisaste. Si quieres cambiar también como se ve el admin y eso, te recomiendo django-grappelli.


También te recomiendo echarle un ojo a django-cms. Dicha app sobre escribe / pone muchas cosas en el admin de django. https://www.django-cms.org/en/
 


Si ya lo probamos mas tiene muchas cosas que por el momento no necesitamos mas si estamos usando django-grappelli y django-fluent-dashboard para personalizar el admin de Django
 
Espero puedan orientarnos mejor :D

Espero te sirva de algo.

Podrías también echarle un ojo a django-admin2 (Nació como "hack" en la ultima DjangoCon pero va por buen camino) https://github.com/pydanny/django-admin2

Espero te sirva! Saludos!
FF


Saludos Flavio!
 

--
Este es un mensaje del foro Python de Venezuela.
Para suscripciones y retiros: http://goo.gl/ug9by
---
Has recibido este mensaje porque estás suscrito al grupo "Python Venezuela" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a python-venezue...@googlegroups.com.
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.
 
 
Reply all
Reply to author
Forward
0 new messages