Minrock
Usuario (Colombia)
Aca les dejo 2 libros en formato PDF que me ayudaron mucho a aprender python y Django... son muy recomendados..."Aprenda a pensar como programador con Python"http://manuales.gfc.edu.co/python/thinkCSpy.es.pdfy"El libro de Django 1.0"http://books.openlibra.com/pdf/django-book-es-1.0.pdfLos 2 estan en español... espero que les sirva de algo, cualquier cosa preguntas de python en comments intentare resolverlas apenas pueda, de Django si se las debere ps aun no he terminado el libro de django.Espero les sirva

Hoy he estado luchando con la generacion de un pdf de calidad en Django, utilizaba la libreria xhtml2pdf y Pisa, pero tengo problemas de renderizado, al ser el mismo quien renderiza el css y el html, a veces no lo hace de manera correcta. Asi que me toco buscar una libreria que pudiera hacer ese trabajo, y me encontre con wkhtmltopdf, excelente propuesta, la trabaje en el servidor de desarrollo y perfecto, pero cuando pase mi proyecto a mi servidor de deployment... adios tranquilidad por un dia... un dia largo de busqueda por internet a ver que problemas hay... he aqui todo el procedimiento, para que ustedes no sufran lo que yo sufri jejeje 1.) Primero instalar la libreria wkhtmltopdf que hace renderizado con qt webkit, asi que tambien necesitamos algunas dependencias... comenzamos con la instalacion: apt-get build-dep libqt4-gui libqt4-network libqt4-webkit apt-get install openssl build-essential xorg git-core git-doc libssl-dev wkhtmltopdf 2.) Sobre su virtualenv, deben instalar una libreria wrapper de wkhtmltopdf para django, el cual podemos hacer con PIP. $pip install django-wkhtmltopdf o descargarlo desde github con este enlace e instalarlo https://github.com/incuna/django-wkhtmltopdf y hacer la instalacion manual como alli lo dicen. luego se hace la integracion a django, en las INSTALED_APPS. En la misma pagina de github os diran como integrarlo a su proyectos. DE AQUI en adelante, os funcionara perfecto en el desarrollo, pero valla dolor de cabeza causara cuando lo pasen al servidor de deploy, donde deben hacer lo mismo. El primer error es un bug que fue resuelto en git, con agregar unas lineas de codigo en el archivo utils.py de django-wkhtmltopdf. Aqui pueden modificar directamente el instalado (como me toco a mi), o si descargaste e instalaste de github, antes de instalarlo en el servidor, deberias ver si ya tiene el parche. Es el siguiente: utils.py: (ln 86) - return check_output(args, stderr=sys.stderr, env=env) (ln 87)+ try: (ln 88)+ return check_output(args, stderr=sys.stderr, env=env) (ln 89)+ except AttributeError: (ln 90)+ return check_output(args, env=env) (agregar las lineas con +, eliminar las que encuentren con -, sin colocar las lineas, son meramente para guiarlos) si no encuentran los archivos de django-wkhtmltopdf donde se encuentran deberian estar aqui... $HOME/.virtualenvs/tu_virtualenv/lib/python2.7/site-packages/wkhtmltopdf/ listo, con esto ya no da error cuando se hace deploy, en este caso lo hacia con apache. si bien en un servidor no se mantiene un xserver dentro de un servidor, ni tener un Desktop Enviroment, ya que eso significa gasto de memoria innecesaria, para poder renderizar el pdf es necesario tener un servidor x corriendo, por lo cual en el servidor hay que hacer estos cambios. 1.) instalar xorg, pero no hacer configuracion para que inicie automaticamente, por el contrario lo que haremos es instalar un servidor "virtual" para xorg. apt-get install xorg xbfv 2.) Esperar, al terminar de instalar, debemos hacer un cambio, primero modificaremos el nombre del ejecutable de wkhtmltopd. (si no encuentran donde esta el ejecutable pueden averiguarlo con whereis). sudo mv /usr/bin/wkhtmltopdf /usr/bin/wkhtmltopdf.unwrapped luego crear un script con este contenido con el nombre del ejecutable inicial wkhtmltopdf. #!/bin/sh xvfb-run -a -s "-screen 0 640x480x16" wkhtmltopdf.unwrapped $* este archivo lo movemos hacia donde se encontraba el ejecutable sudo cp wkhtmltopdf /usr/bin/ y woala... ya el servidor debe crear un servidor "virtual" de Xorg mientras se ejecuta nuestra libreria, y genera el pdf. espero les sirva muchisimo.

En estos momentos me encuentro probando una distro de linux muy chida. Para todos aquellos amantes del software libre. Elive Topaz 2.0 es una distro de linux basada en Debian. la verdad es una excelente obra de arte, muy bueno el sistema de ventanas. es bastante liviano y muy completo. dicen que es una distro para Intel, pero la verdad estoy trabajando en una laptop dv4 con procesador AMD y la verdad lo veo corriendo a full. utiliza Enlightenment X window manager en lugar de los ya conocidos y tradicionales KDE, LXDE o Gnome. este sistema de ventanas es bastante intuitivo para todos. si alguno se le anima a descargar este majestuoso linux aqui les dejo la web Site. http://www.elivecd.org/ Aca tambien le dejo algunos videiillos para que vean que tan fuerte puede llegar a ser la distro. ademas tiene un live CD cargado con el compiz para mejoria de efectos graficos. todo corriendo integro aun desde el live CD. link: http://www.youtube.com/watch?v=http://www.youtube.com/watch?v=nCJ8QDfA95U Yapa Para aquellas personas que tienen compu ultra portatil (minis) aca les dejo un programa para que puedan hacer sus memorias USB booteables y puedan tambien probar esta obra de arte. http://unetbootin.sourceforge.net/unetbootin-elive-windows-latest.exe Me despido con otro videito hasta luego amigos taringeros link: http://www.youtube.com/watch?v=http://www.youtube.com/watch?v=WECT_IgFf8c&p=FCAC8809B2AA9E55&playnext=1&index=7