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:

code django

About the author

Óscar
has doubledaddy super powers, father of Hugo and Nico, husband of Marta, *nix user, Djangonaut and open source passionate.