Browsing tag: django

Uso avanzado del ORM de Django


En un post anterior ya explique los peligros de utilizar mal el ORM de Django. Puedes acabar destruyendo el performance de tu aplicación haciendo cientos de consultas. Me gustaría extender un poco más el tema y hacer algunos ejemplo de usos más avanzados. En este ejemplo tengo dos tablas. Tabla <Product> y tabla <ProductMeta>. class Product(models.Model): image = models.ImageField(upload_to='product', blank=True) wholesale_price = models.DecimalField(max_digits=9,

Traducir un sitio web en Django


Django esta preparado para hacer un sitio web o plataforma multi-lenguage, para habilitarlo solo tenemos que hacer lo siguiente. 1) Crear una carpeta llamada "locale" en el root de nuestra aplicación. 2) Definir el LANGUAGE_CODE = 'es-ES' 3) Añadir el "LOCALE_PATHS" al fichero settings.py en el que se tiene que poner la ruta absoluta hacia la carpeta locale dentro de tu app (la creada en el paso 1) LOCALE_PATHS = ( '/ruta/absoluta/hacia/tu/app/locale/' ) 4) Asegurarse que el

Controlar las dependencias de un proyecto en Django


Es habitual que uses varias librerías de terceros en un proyecto que estés desarrollando en Django, para ello tienes que instalarlas. Pero el problema viene cuando pasas ese proyecto a otro servidor o a otra persona, todo empezará a dar errores porque no encuentra los módulos que estás utilizando. En vez de instalarlos uno a uno, o hacer una lista de los módulos que has utilizado manualmente se puede utilizar freeze. Con freeze crearemos un fichero llamado "requirements.txt" donde

Preview de un vídeo de Vimeo en Django


Para obtener el preview de un vídeo de Vimeo utilizando Django la mejor forma es crear un templatetag, al cual le pasaremos la URL entera del vídeo y el devolverá el preview de la imagen. Esta es una función que utiliza la API de Vimeo para extraer la información del vídeo en formato JSON: @register.simple_tag def videoPreview(direccion): id_video = urlparse.urlparse(direccion).path.lstrip("/") video_xml = "http://vimeo.com/api/v2/video/%s.json" % id_video req =

Mover la carpeta “static” a la raíz del proyecto en Django


Por defecto Django maneja los archivos estáticos de esta manera: proyecto/ aplicacion1/ views.py models.py static/ img1.png style.css aplicacion2/ views.py models.py static/ img1.png style.css Pero hay un problema si queremos que dos aplicaciones compartan los mismos estilos, javascript o imágenes. La solución es crear una carpeta en la raíz del proyecto llamada "static" y en ella poner todos los archivos

Error “IOError decoder jpeg not available” en Django para Mac OS


Si estas intentando redimensionar una imagen en Python usando PIL o Pillow es posible que te salga un mensaje como el siguiente: IOError at /URL/ decoder jpeg not available Esto se debe a que no tienes instalados los codecs adecuados, para ello puedes utilizar el siguiente comando: pip uninstall PIL brew install libjpeg pip install PIL Con esto hemos desinstalado PIL, instalado la librería libjpeg y después hemos vuelto a instalar PIL, de esta forma se ha configurado correctamente.

Error 404 en archivos estáticos del admin de Django


Es posible que si estas pasando un proyecto hecho en Django de desarrollo a producción, te encuentres con que los archivos estáticos del panel de administración no se cargan correctamente. Esto de debe a que has creado un Alias en apache indicando que los archivos estáticos están en tu proyecto "/var/www/proyecto/static", sin embargo los archivos del administrador de Django se encuentran en otro lugar, por eso salta el error 404. Para solucionarlo asegurate de tener el STATIC_URL y