Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

118
Views
Cambie la imagen de django img src en la plantilla según el ancho mínimo

No estaba seguro de cómo hacer esta pregunta. Quiero enviar imágenes del tamaño correcto a diferentes pantallas desde mi aplicación django. Lo tengo para que cuando se cargue una imagen, se guarde en los medios pero con varios tamaños.

medios de comunicación

Entonces, la imagen de arriba se muestra en my media/uploads/pieces/{ID}/Sargent.jpg y todas sus imágenes de otros tamaños. El imageField de los modelos apunta al archivo "original" sin guión bajo ni ancho.

plantillas/arte/pieza_detalle.html

 <picture> <source media="(min-width:300px)" srcset="{{ piece.image.url ??? }}"> <source media="(min-width:375px)" srcset="{{ piece.image.url ??? }}"> <source media="(min-width:786px)" srcset="{{ piece.image.url ??? }}"> <source media="(min-width:1440px)" srcset="{{ piece.image.url ??? }}"> <img src="{{ piece.image.url }}" alt="{{ piece.name }} - {{ piece.height }} x {{ piece.width }}"> </picture>

Luego, aquí estoy usando una etiqueta HTML <picture> con algunos medios de origen para ser la forma en que sirvo la imagen adecuada. Sin embargo, no sé cuál es la mejor manera de hacer lo que estoy tratando de lograr. Me doy cuenta de que estos puntos de quiebre probablemente no sean exactamente lo que necesito, pero solo trato de transmitir mi idea.

Pensé en agregar más campos de "ruta" al modelo de pieza y configurarlos también en estas otras rutas de URL, pero parece una solución descuidada para esto. De lo contrario, creo que necesitaría manipular algunas cadenas en la vista antes de que llegue a la plantilla...

Además, ¿cuáles son los puntos de ruptura de imagen estándar de hoy?

¡Gracias por adelantado!

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

puedes crear un filtro personalizado

que acepta la URL de la imagen y el ancho específico y devuelve la URL con el ancho conectado.

 def format_img_src(img_ur, size): """Returns an image of specific size""" # do your formatting here
over 4 years ago · Santiago Trujillo Report

0

class my_model_name(models.Model): ...... image = models.ImageField(default='default.jpg', upload_to = '') def save(self, *args, **kwargs): super(my_model_name, self).save(*args, **kwargs) img = Image.open(self.image.path) if img.height>300 or img.width > 300: img.thumbnail( (300,300) ) img.save(self.image.path)

Si usa este método de save , entonces su img ahorra 300 * 300. Puede cambiar su tamaño.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!