Subir archivos con Django: Dango-tinymce y django-filebrowser

Django-TinyMCE + Django-Filebrowser

 

Me váis a permitir una pequeña nota mental porque siempre me hago un lío. A la hora de usar un editor WYSIWYG en Django normalmente las preguntas suelen ser las mismas de siempre:

  1. ¿TinyMCE ó CKEditor?.
  2. ¿Django Filebrowser con Grappelli o sin Grappelli?
  3. ¿Funcionará en Django 1.4?
  4. ¿Vienen integrados con uploaders de imágenes?.
  5. ¿Funciona automágicamente con el admin de Django?.
  6. ¡Truenos!, no me funciona a la primera, ¿por qué?.

Las respuestas son sencillas una vez se ha probado… y como es la segunda vez que tropiezo con la misma piedra casi prefiero dejarlo documentado para torpes como yo.

¿TinyMCE ó CKEditor?

Yo actualmente estoy usando TinyMCE con el paquete django-tinymce (django-tinymce==1.5.1b2) porque funciona bien en conjunción con django-filebrowser-no-grappelli (django-filebrowser-no-grappelli==3.0) y es muy sencillo de utilizar (link, link).

¿Django Filebrowser con Grappelli o sin Grappelli?

Queda respondida con la anterior, en principio utilizo la versión “no-grappelli” porque quiero tener las dependencias mínimas para que los proyectos funcionen de forma autónoma. Todavía no he probado Grappelli en profundidad, estoy convencido que el día que lo haga me gustará, pero mientras tanto me voy apañando (algo he leido sobre incompatibiliades de esta modificación con Django 1.4).

¿Funcionará en Django 1.4?

Puedo asegurar que django-tinymce + django-filebrowser-no-grappelli es fully functional en Django 1.4. Upload con uploadify y select combinado con tinymce incluidos. El mayor problema que nos podremos encontrar es la ubicación de los .js.

¿Vienen integrados con uploaders de imágenes?

Si, django-filebrowser-no-grappelli viene con un upload genérico (en caso de no tener Flash) y Uploadify en caso de disponer del plugin de Adobe. Por si a alguien le interesa, también hay un paquete llamado django-filebrowser-no-grappelli-and-uploadify (un fork del anterior sin Uploadify para los que odian Flash).

¿Funciona automágicamente con el admin de Django?

Si, sin duda. Siguiendo las instrucciones indicadas, django-tinymce es capaz de renderizar todos los campos de tipo TextField() con su WYSIWYG correspondiente para que puedas hacer de la edición de texto una tarea más sencilla.

¡Truenos!, no me funciona a la primera, ¿por qué?

Depende, yo las dos veces que tropecé fueron básicamente por lo mismo: los archivos javascript no estaban colocados en la ubicación correcta. Me había hecho un lío entre /media/ y /admin/media/ y no se habían cargado varios archivos necesarios para el correcto funcionamiento. Los .js estaban situados correctamente pero llaman a otros .js que estaban huérfanos. ¡Usa un Firebug o similar!.

No te creo

Tampoco lo pretendía, lo único que puedo hacer es presentar un pantallazo justificando toda esta parrafada que acabo de escribir:

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s