我不知道如何問這個問題。想要從我的 django 應用程式將正確大小的影像發送到不同的螢屏。我有它,以便在上傳影像時將其保存到媒體但具有多種尺寸。

所以,上面的圖片顯示在我的 media/uploads/pieces/{ID}/Sargent.jpg 和所有其他尺寸的圖片中。模型 imageField 指向沒有下劃線和寬度的“原始”檔案。
模板/藝術/piece_detail.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>
然后在這里我使用<picture>帶有一些源媒體的 HTML標簽作為我提供適當影像的方式。然而,我對做我想要完成的事情的最佳方式不知所措。我意識到這些斷點可能并不完全是我需要的,而只是想傳達我的想法。
我想過向 Piece 模型添加更多“路徑”欄位并將它們也設定為這些其他 URL 路徑,但這似乎是一個草率的解決方案。否則,我想我需要在視圖中進行一些字串操作才能到達模板......
此外,今天的標準影像斷點是什么?
提前致謝!
uj5u.com熱心網友回復:
您可以創建自定義過濾器
接受影像 url 和特定寬度并回傳插入寬度的 URL。
def format_img_src(img_ur, size):
"""Returns an image of specific size"""
# do your formatting here
uj5u.com熱心網友回復:
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)
如果你使用這個savemathod 比你所有的 img 保存 300*300.you 可以改變你的大小。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/381155.html
標籤:姜戈
上一篇:我無法在DjangoRestFramework中序列化我的產品影像
下一篇:視圖Fitness_app.views.BookingView沒有回傳HttpResponse物件。它回傳None代替
