首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django webp转换器标签static_webp不工作

Django webp转换器标签static_webp不工作
EN

Stack Overflow用户
提问于 2020-06-16 13:28:25
回答 1查看 1.2K关注 0票数 0

我将webp_converter包安装在有文档的这里

代码语言:javascript
复制
{% load webp_converter %}

This is not working which I want to add static_webp
<img src="{% static_webp 'modelImage.url' %}">

This is working fine
<img src="{{ modelImage.url }}">

From Official Doc says
<img src="{% static_webp 'img/hello.jpg' %}">
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-20 11:54:45

我无法使用{% static_webp 'modelImage.url' %}自定义输出到模板。但我能够转换文件时,上传和存储文件立即以所需的格式(webp)。我的解决方案可能对那些正在开发新项目的人很有用,因为我的方法不假定以前在模型中保存了文件。所以让我们按顺序开始吧。

  1. 在我的模型(目录)中,通过调用函数( models.pyrename_file),我重写了图像存储位置的路径。函数(rename_file)将文件的扩展重命名为.webp,从而创建正确的obj.url。必须立即这样做。因为obj.url具有只读属性。 从django.db导入模型image_path = os.path.abspath(settings.MEDIA_ROOT +‘/照片/asics/’+ date.today().strftime('%Y/%m/%d/')) rename_file(例如,文件名):if filename.find(‘.’.‘) >= 0: dot_index = (len(filename) - filename.rfind('.’.‘),(1)* (-1)文件名= filename0:dot_index文件名=‘{}。{}’.format(文件名,'webp')返回os.path.join(image_path,文件名)类目录(models.Model):models.ImageField= models.ImageField(upload_to=rename_file,blank=True)
  2. admin.py图片通过管理面板添加到我的应用程序中。所以我决定转换这个文件中的图像,但这并不重要。这里我使用信号(post_save)来调用函数(convert_image),该函数将图像转换为所需的格式(.webp),并将Origanal文件替换为一个新文件。 从django.contrib导入管理从.models导入目录从django.db.models.signals导入图像从django.db.models.signals导入post_save @receiver(post_save,sender=Catalog) def convert_image(例如,**kwargs):if image_name: im = Image.open(image_name).convert('RGB') output_path = str(image_name) im.save(output_path,‘'webp')类CatalogAdmin(admin.ModelAdmin):def save_model(self、request、obj、form、change):全局image_name image_name = obj.photo Super().save_model(请求、obj、表单、更改)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62409683

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档