lunes, 8 de junio de 2009

Quick Tip sobre django

Volvemos a los articulos tecnicos. :D

Para un proyecto particular que tengo estoy realizando una aplicación sobre django. En esta aplicación tengo en un momento que servir imagenes, pero aqui me encontré con un problema. Como mi server django esta mapeado al root de mi url todos los request pasan por el mismo, asi que para poder servir una imagen tengo que pasar por el.

Les dejo lo que hice como tip para que ustedes tambien puedan hacerlo en sus casas.

Primero definamos una constante PROJECT_ROOT que dice donde esta el root del proyecto en el FS de la maquina donde estamos, luegos en el archivo urls.py creamos una entrada de la forma (r'^imgs/','image'), que lleva a la función image en nuestro view por defecto (asumiendo que lo seteamos, sino ponemos 'proyecto.un_archivo_py.image').

Luego copiamos nuestras imagenes en PROJECT_ROOT/imgs.

Cuando nos llega el request a la funcion image hacemos lo siguiente:
file = open(settings.PROJECT_ROOT+request.path)
return HttpResponse(file, mimetype="el mimetype de la imagen, ej. image/jpg"


Saludos y suerte desarrollando sus aplicaciones en django.

PD- Soy el unico que esta teniendo problemas con el formato del texto en esta blogger?