Editando y traduciendo inline en Django
La tarea de administrar un sitio web es una tarea de lo más complicada, influyendo en gran medida el desconocimiento de la tecnología usada y las carencias del administrador, el cual muchas veces no es técnico. Django posee una administración muy potente, pero para un usuario no-programador a veces puede seguir siendo una ardua tarea.
Hay técnicas que facilitan dicha labor, como poner un enlace en cada contenido que redirija a la administración, tener administraciones relacionadas etc. Pero aún así los usuarios siguen deseando poder modificar los contenidos en el mismo sitio donde están viendolo. Ellos quieren ver como queda lo que acaban de editar.
Del mismo modo pasa con las etiquetas, si nuestro sitio web está internacionalizado (o en proceso de, es una tarea que nunca termina), django no nos proporciona ninguna manera de hacerlo facilmente. Existen proyectos como rosseta, o transhette que intentan tener algo parecido a una administración para las etiquetas, pero están totalmente descontextualizadas, y si resulta dificil administrar los contenidos, las etiquetas siempre son más “graciosas”.
Nosotros planteamos la traducción y la edición “inline” de etiquetas y contenidos. Para ello hemos realizado un par de huevos en PyPI:
* django-inlinetrans, con dos años de desarrollo.
* django-inplaceedit, con casi un año de desarrollo, en esta nueva versión y tres desde la primera versión.
Video Demo (Poner en pantalla completa para ver adecuadamente)
Estos dos se basan en una serie de puntos comunes:
* Facilidad pasar de una aplicación sin traducción/edición “inline” a una con dicha funcionalidad
* No relentizar el servidor, no deben de realizar ninguna consulta ni cálculo complejo
* No ensuciar el DOM, cuando no tengas permiso de edición, y ensuciarlo lo mínimo cuando lo tengas
* Deben ser genéricos, configurables y extensibles
* Deben de funcionar, que es lo más dificil
Para pasar de una etiqueta traducible a una traducible “inline” tras instalar la aplicación (5 minutos para cualquier programador django), habrá que cambiar:
{% trans "Hello world" %}
Por:
{% itrans "Hello world" %}
Del mismo modo para la edición de contenidos, tras instalar la aplicación (otros 5 minutos como máximo) habrá que pasar de:
{{ content.description|safe }}
A:
{% inplace_edit "content.description|safe" %}
Es importante añadir que la edición “inline” no se queda exclusivamente en textos (aunque puede ser en el campo más común), además se pueden editar: choices, campos buleanos, campos fecha/fecha y hora, foreing keys, many to many, campos de archivo y de imagen. Además con la extensión django-inplaceedit-extra-fields podrás en los campos foreing keys y many to many editar inline autocompletando, gracias a django-ajax-selects. Podrás editar inline imagenes haciendoles thumbnails, gracias a sorl.thumbnail, y podrás editar textos html con el editor tinyMCE, gracias a cmsutils.
Tambien es importante aclarar que ni la edición ni la traducción inline pueden sustituir a una administración (de contenidos o etiquetas), pero si puede mejorar mucho la expersiencia del usuario.
Para saber más de otras contribuciones realizadas en pypi ver, el post PyPI y Yaco.
Para ver otra contribuciones ver la sección de contribuciones
Related Posts:
- PyPI and YacoPyPI y Yaco
- How visually detect visually cyclic import between our django applicationsComo detectar visualmente importaciones cíclicas entre nuestras aplicaciones django
- How to integrate forms in the Django admin site? django-form-admin¿Cómo integrar formularios en la administración de Django? django-form-admin
Deja un comentario Cancelar respuesta
Categorías
- comunicación (2)
- contribuciones (9)
- django (5)
- Eventos (11)
- python (5)
- tamgrambpm (1)
- uniquid (72)
- confia (33)
- documentacion (4)
- eventos-uniquid (28)
- janus (14)
- simplesamlphp (7)
- software (7)
- Virtualizacion (2)
- Escritorio (1)
- Yaco (9)
- Equipo (4)
- ytourism (2)
Archivos
- noviembre 2012 (1)
- julio 2012 (2)
- junio 2012 (2)
- mayo 2012 (2)
- abril 2012 (1)
- marzo 2012 (2)
- febrero 2012 (5)
- enero 2012 (3)
- diciembre 2011 (5)
- noviembre 2011 (8)
- octubre 2011 (7)
- septiembre 2011 (3)
- agosto 2011 (3)
- julio 2011 (1)
- junio 2011 (3)
- mayo 2011 (5)
- marzo 2011 (2)
- febrero 2011 (1)
- diciembre 2010 (1)
- noviembre 2010 (2)
- octubre 2010 (2)
- septiembre 2010 (1)
- junio 2010 (3)
- mayo 2010 (1)
- abril 2010 (1)
- marzo 2010 (3)
- febrero 2010 (3)
- enero 2010 (3)
- diciembre 2009 (6)
- noviembre 2009 (7)
- junio 2009 (1)
- mayo 2009 (1)
- marzo 2009 (1)
- diciembre 2008 (1)
- junio 2008 (1)
- abril 2008 (1)










[...] Further information: http://www.yaco.es/blog/en/contribuciones/2012/01/inline-editing-and-translating-in-django/ [...]
You Should change the MEDIA_URL in your template tags to STATIC_URL and the name of your media dir in your inplaceeditform folder to static.
Regards
I know it __very__ well, and I hate that this task is not made still.
The next release will have this change.
But if you are very interested, you can cook up a patch
Done!
http://pypi.python.org/pypi/django-inplaceedit/#id4
You actually make it seem to be not thay hard with all your demonstration even so to find this trouble to become actually an element that I find myself I’d personally never realize. It kind of feels way too complicated and also wide-ranging for me personally. We’re looking ahead to your next publish, I’m going to make an effort to purchase the their hands on them!
I think that this is very very easy, like you said you can see the demo. But obviously it’s possible that you have to adapt the code, for this the app is very customizable.
What is your problem?