2011-03-15 57 views
4

我有一個MIME類型=「text/plain的」與Django模板的幾個問題。在端部80,然後將實際的圖像URL與「%2F」在替換每個斜線的渲染:Django的增加%2F替代/在模板圖像場

首先URL的S3部分與渲染。

​​

我已經試過安全和其他自定義變量來替換「%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 }} 

但它不起作用。由於

+0

哪裏是這個網址是從哪裏來的?你如何在模板中輸出它? – 2011-03-15 22:18:54

+1

{{object.image.url |安全}}應該輸出無需修改網址 - 見http://docs.djangoproject.com/en/dev/ref/templates/builtins/?from=olddocs#safe – 2011-03-15 23:00:13

+0

@Daniel羅斯曼該URL是從瀏覽對象,其每一個有一個圖像字段,其上傳至S3上保存的一個循環到來。因此,我可以輕鬆地循環播放標題,但出於某種原因,安全性仍然保持不變。這可能是因爲我輸出到文本/ CSS或文本/計劃。 – Designer023 2011-03-16 09:39:41

回答

0

Django的自動HTML轉義模板中的所有變量。爲了插入變量的值,而不逃避,你應該使用safe過濾器來告訴Django的價值並不需要進行自動轉義像這樣:

{{ object.image.url|safe }}