对于用户上传的任何图片,我正在生成缩略图。用户上传的图像和缩略图都是这样存储的。
media_cdn (folder)
-user_name_1 (folder)
-user_name_2 (folder)
--post_1_title_slug (folder)
---300x180 (folder)
----300x180_user_uploaded_image_1.png
---user_uploaded_image_1.png
--post_2_title_slug (folder)
-user_name_3 (folder)
由于我在模型中使用ImageField,我可以在模板中轻松使用{{ appname.image.url }}
,但这会加载上传的图像。我想加载缩略图。
我在stackoverflow上搜索,大多数人都说要使用{{ MEDIA_URL }}
,例如here
我倾向于{{ MEDIA_URL }}
,因为将来网站会根据相同的用户上传图片生成更多图片。
我现在正在使用它,
<img src='{{ MEDIA_URL }}/{{user.username}}/{{ upload.slug }}/300x180/300x180_{{ upload.get_filename }}'>
这是在页面中给出的,(来自Inspect元素)
/user_name/file_slug/300x180/300x180_image_name.png
{{ MEDIA_URL }}
未提供正确的网址。
FYI,
get_filename
来自models.py,我写这个来获取文件名
def get_filename(self):
return(os.path.basename(self.image.name))
我该怎么做才能做到这一点?
我正在使用Django 1.11.5
和Pillow 4.2.1