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?

2 comentarios:

Unknown dijo...

Gracias, precisamente lo que estaba buscando

NEMESIS: Psicología, Eduación y Poligrafía a su servicio dijo...

Mi nombre es José Félix Susa Lizarazo, resulta que me montaron mi página web www.cpenemesis.com utilizando django, yo no se nada de programación, solo quería una interface que me permitiera manejar mis contenidos de manera fácil, la persona que la montó se declaro enfermo y NO me ha dado ninguna asesoría para poder administrar mi página, yo necesito saber qué hacer para poder mejorarla y poder echar a andar algunas ideas y necesidades que tengo, por ejemplo yo requiero poder enviar correos masivos, y no se qué tipo de utilidad se pueda montar o hacer para que pueda lograrlo, si alguien puede colaborarme le agradecería mucho , lo poco que he tratado de hacer es mínimo pues temo dañar las cosas y no se qué hacer para poder aprenden eficientemente, escucho cualquier recomendación ayuda o propuesta. jsusa@cpenemesis.com o nemesis.psico@gmail.com