Foros del Web » Programando para Internet » Python »

Problema con ImageWithThumbsField

Estas en el tema de Problema con ImageWithThumbsField en el foro de Python en Foros del Web. Un saludo a todos, y mi pregunta es necesito mostrar una imagen en miniatura y he hecho lo siguiente: en models.py mi campo es: Código: ...
  #1 (permalink)  
Antiguo 02/01/2012, 13:44
 
Fecha de Ingreso: diciembre-2011
Ubicación: Cancun
Mensajes: 47
Antigüedad: 12 años, 4 meses
Puntos: 1
Pregunta Problema con ImageWithThumbsField

Un saludo a todos, y mi pregunta es necesito mostrar una imagen en miniatura y he hecho lo siguiente: en models.py mi campo es:


Código:
imagen=ImageWithThumbsField(upload_to='images/Videos', sizes=((125,125),(200,200)))
mi url.py esta configurado para que lo guarde en images y cuando guardo la imagen por ejemplo, 40.jpg se guardan tres imágenes: 40.jpg, 40.125x125.jpg y 40.200x200.jpg y cuando en mi plantilla necesito acceder a la imagen escribo esto :



Código HTML:
<img src="/{{video.imagen }}" > 
que vídeo es la variable que retorno e imagen es el campo de mi modelo , pero en mi bd esta guardando la imagen original 40.jpg y nunca me carga la imagen que necesito que es 40.125x125.jpg. No se como acceder a ella, y ¿como le hago para que solo me guarde la imagen 40.125x125.jpg y no me guarde tres?, he intentado hacer esto:


Código HTML:
imagen=ImageWithThumbsField(upload_to='images/Videos', sizes=(125,125)
pero me devuelve un error. Espero haber sido claro. Gracias
  #2 (permalink)  
Antiguo 02/01/2012, 14:41
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: Problema con ImageWithThumbsField

Las etiquetas son muy sensibles hasta el mas mínimo error o espacio y no te lo reconoce.

Recuerda en python los espacios son importantes.

Código Python:
Ver original
  1. {{ video.imagen }}
  #3 (permalink)  
Antiguo 02/01/2012, 15:33
 
Fecha de Ingreso: diciembre-2011
Ubicación: Cancun
Mensajes: 47
Antigüedad: 12 años, 4 meses
Puntos: 1
Respuesta: Problema con ImageWithThumbsField

OK , pero el problema es que no puedo acceder a la imagen de 125x125 ya que en mi be aparace el nombre de la imagen original y esa es la que siempre me cargar , no he podido cargar la imagen miniatura
  #4 (permalink)  
Antiguo 02/01/2012, 20:57
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: Problema con ImageWithThumbsField

Sería bueno que pusieras que error te arroja ya que ImageWithThumbsField no es un modelo que traiga integrado django por defecto.
  #5 (permalink)  
Antiguo 02/01/2012, 22:00
 
Fecha de Ingreso: diciembre-2011
Ubicación: Cancun
Mensajes: 47
Antigüedad: 12 años, 4 meses
Puntos: 1
Pregunta Respuesta: Problema con ImageWithThumbsField

Lo que pasa que es una clase de http://djangothumbnails.com/ y se supone que puedo acceder a la imagen asi : variable.foto.url_125x125 suponiendo que mi imagen se llama asi : ab.jpg al guardarla por medio del admin de django me guarda en mi carpeta images/videos ab.jpg ab.125x125.jpg ab.200x200.jpg y em mi BD guarda el nombre de ab.jpg no el de las miniaturas , por eso al acceder en mi al retornar la variable video por medio de mi vista , realizo lo sig en mi plantilla
Código HTML:
<img src="/estatico/{{ video.imagen }}"  width="24%" height="220" alt="Post" /> 
y me muestra la imagen original que es ab.jpg , no me muestra la imagen ab.125x125.jpg logicamente por que en mi Bd se guardo ab.jpg , ahora siguiendo el ejemplo de la pagina de thubnails intento acceder a la imagen miniatura asi:

Código HTML:
<img src="/estatico/{{ video.imagen.url_125x125 }}"  width="24%" height="220" alt="Post" /> 
Tambien intente lo sig:

Código HTML:
<img src="/estatico/{{ video.imagen.125x125 }}"  width="24%" height="220" alt="Post" /> 
Pero si traducimos el nombre nos quedaria asi:
Código HTML:
<img src="/estatico/ab.jpg.url_125x125"  width="24%" height="220" alt="Post" />
<img src="/estatico/ab.jpg.125x125"  width="24%" height="220" alt="Post" /> 
porque ab.jpg es lo que se guarda en mi BD al almacenar la imagen con el admin de Django , y esa es la razon por la que no se puede mostrar la imagen no se como resolverlo he intentado varias maneras , espero haber sido claro ,Gracias
  #6 (permalink)  
Antiguo 03/01/2012, 22:58
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: Problema con ImageWithThumbsField

Código Python:
Ver original
  1. #models.py
  2. from django.db import models
  3. from thumbs import ImageWithThumbsField
  4.  
  5. class Person(models.Model):
  6.     photo = ImageWithThumbsField(upload_to='images', sizes=((125,125),(200,200)))

Código Python:
Ver original
  1. #views.py
  2. from django.shortcuts import render_to_response
  3. from models import Person
  4.  
  5. def vista(request):
  6.     p = Person.objects.all()[0]
  7.     return render_to_response('template.html', {'person': p})

Código django-template:
Ver original
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <!-- template.html -->
  4. <head>
  5.     <title></title>
  6. </head>
  7.  
  8. <body>
  9.  
  10.     <div id="content">
  11.        <img src="{{ person.photo.url }}" alt="" />
  12.        <img src="{{ person.photo.url_200x200 }}" alt="" />
  13.        <img src="{{ person.photo.url_125x125 }}" alt="" />
  14.     </div>
  15. </body>
  16. </html>

En el settings.py tengo
Código Python:
Ver original
  1. MEDIA_ROOT = '/ruta/a/media'
  2. MEDIA_URL = 'http://url/a/media/'
  3. STATIC_URL = '/media/'

A mi me funciona perfecto.
  #7 (permalink)  
Antiguo 05/01/2012, 10:36
 
Fecha de Ingreso: diciembre-2011
Ubicación: Cancun
Mensajes: 47
Antigüedad: 12 años, 4 meses
Puntos: 1
Exclamación Respuesta: Problema con ImageWithThumbsField

Me Ha funcionado perfectamente muchas gracias por molestarte , tuve algunos problemas pero me acaba de funcionar y por eso tuve que crear otro proyecto pero me surgio una duda en la manera que pusiste el settings.py y en url.py lo tuve que colocar asi:

Código:
MEDIA_ROOT = 'D:/Django/imagen/Media'
MEDIA_URL = '/Media/'
STATIC_ROOT = ''
STATIC_URL = '/static/'
imagen es el nombre de mi proyecto
urls.py
Código:
urlpatterns = patterns('',    
    (r'^imagen/$',views.vista),
     url(r'^admin/', include(admin.site.urls)),

)


if settings.DEBUG:
    urlpatterns += patterns('',
        (r'^Media/(?P<path>.*)$', 'django.views.static.serve', {
        'document_root': settings.MEDIA_ROOT}))
y en la plantilla lo traduce asi:

para que me funcionara , pero antes intente colocarlo como tu lo pusiste que era asi:

settings.py
Código:
MEDIA_ROOT = 'D:/Django/imagen/Media'
MEDIA_URL = 'http://127.0.0.1/imagen/Media/'
STATIC_ROOT = ''
STATIC_URL = '/Media/'
urls.py
Código:
urlpatterns = patterns('',  
    (r'^imagen/$',views.vista),
     url(r'^admin/', include(admin.site.urls)),
)

if settings.DEBUG:
    # archivos estaticos (imagenes, css, javascript, etc.)
    urlpatterns += patterns('',
        (r'^Media/(?P<path>.*)$', 'django.views.static.serve', {
        'document_root': settings.MEDIA_ROOT}))
y en la plantilla lo traduce asi
Código HTML:
<img src="http://127.0.0.1/imagen/Media/images/mi4gp.jpg" alt="" /> 
si me pone bien los nombres de las imagenes pero no las muestra no se a que se debe me gustaria saber cual es la diferencia entre el primer settings que puse y el segundo , el server lo estoy corriendo en el puerto 1515

Etiquetas: django
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:34.