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

时间:2011-03-15 21:35:47

标签: 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 }}

但它不起作用。感谢

1 个答案:

答案 0 :(得分:0)

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

{{ object.image.url|safe }}