Django 在图像字段的模板中添加 %2f 代替/

标签 django django-templates

我在使用 mimetype="text/plain"的 django 模板时遇到了一些问题。

首先,url 的 s3 部分以 :80 结尾,然后实际图像 url 以 '%2f' 代替每个斜杠呈现。

object.image.url

我尝试过使用安全和其他自定义标签来替换“%2f”,但它不起作用
#what I have
http://blahblah.s3.amazonaws.com:80/navigation%2Fprimary%2Fimage.jpg

#what I want
http://blahblah.s3.amazonaws.com/navigation/primary/image.jpg

我在安全方面尝试过的自定义标签是:
import re 
from django import template

register = template.Library()

def reslash (value): 
    return value.replace('%2f', '/')


register.filter('reslash', reslash)

像这样使用:
{{ object.image.url|reslash }}

但它不起作用。谢谢

最佳答案

Django 自动 html 转义模板中的所有变量。为了在不转义的情况下插入变量的值,您应该使用 safe过滤器告诉 django 该值不需要像这样自动转义:

{{ object.image.url|safe }}

关于Django 在图像字段的模板中添加 %2f 代替/,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5318367/

相关文章:

django - 在 for 循环中如何排除查询集中的项目?

python - 在 Django 模板中包含 url 变量

django - 在 Django 中上传和读取 xlsx 文件

python - Django模板比较字符串

django - 在 Django 中使用 Jinja2 模板有什么缺点或陷阱吗?

django - 在 Django 模板中嵌入生成的 img

django - 字段可通过 Django shell 使用,但不能通过 Web 应用程序使用

django - 如何配置 django-auth-ldap 以使用多个 LDAP 服务器?

css - django-plotly-dash div 大小太小,不会改变

django - 为什么 django.db.models.get_models() 不返回任何抽象模型?