我在使用 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/