viernes, 7 de marzo de 2008

Cómo crear un Blog en Django 0.96 y no morir en el intento


Después de una ardua tarea buscando y probando Blogs tipos add-on para Django 0.96, me pareció pertinente compartir, a ver si a alguien le sirve, y si a nadie le sirve, por último para no olvidarme de lo que hice...

Primero Googleando, encontré y probé estos blogs:
http://code.google.com/p/django-diario/
http://code.google.com/p/django-basic-blog/
http://code.google.com/p/coltrane-blog/

Eran para la versión de desarrollo de Django, e inicialmente yo creía inocentemente que iba a poder hacer los suficientes hacks para que anduvieran en Django 0.96 y que no iban a ser muchos.... mala idea.... después de un par de días, me di por vencido... hay muchas cosas en las urls y en varias otras librerías que se han mejorado.

Después, encontré una buena información en este sitio:
http://paltman.com/2008/02/02/i-want-to-move-my-blog-to-django/

Finalmente instalé y empecé a probar este:
http://code.google.com/p/blogmaker/
Que fue el único (de la lista anterior y otras) que encontré para Django 0.96. Pero tuve el problema que es para Python 2.5 ... y yo tengo Python 2.4!!!!!!!
Inconveniente: Me era muy costozo cambiar de 2.4 a 2.5 (además mi jefe dijo: que sea la última opción... ni modo)
Solución: Vi que de Python 2.5 sólo se usaba la librería hashlib, y más específicamente md5, entonces reemplacé hashlib.md5 por md5.md5().hexdigest()

Otra cosa fue que por defecto Django 0.96 trae los siguientes TEMPLATE_CONTEXT_PROCESSORS
("django.core.context_processors.auth",
"django.core.context_processors.debug",
"django.core.context_processors.i18n")
Y BlogMaker usa además otro:
django.core.context_processors.i18n
Para agregarlo, hay que modificar el settings.py del proyecto y agregarle esto:
TEMPLATE_CONTEXT_PROCESSORS = (
"django.core.context_processors.auth",
"django.core.context_processors.debug",
"django.core.context_processors.i18n",
"django.core.context_processors.request",
)


Después me faltaba una librería: Python-Markdown
La bajé de aquí: http://www.freewisdom.org/projects/python-markdown/
E instalarla fue muy fácil:
$ unzip python_markdown-1.7.rc1.zip
$ cd python_markdown-1.7

$ sudo python setup.py install

Después tuve que cambiar la url (que está hardcoded) a la que salta la plantilla para dejar comentarios:
$ vi blogmaker/comments/templates/comments/comment_form.html

Eso fue todo y la cosa empezó a andar picho caluga.... ahora que mi amigo que está editando las plantillas para darle nuestro formato me esté diciéndo que están medio juleras, es otra cosa.... vamos a ver cómo evoluciona nuestra experiencia con BlogMaker para Django.

Bueno, y si alguien sabe cómo hacer esto que hice de una manera más fácil... SUELTA LA PEPA!!! y di como se hace! ... por lo menos una persona (yo), estará muy agradecido ;-

1 comentario:

konatufe dijo...

Héchale una mirada a este:

https://launchpad.net/banjo

puede ser otra buena opción.