Django добавляет% 2f вместо / в шаблоне для поля изображения - PullRequest
4 голосов
/ 16 марта 2011

У меня есть несколько проблем с шаблоном django с mimetype = "text / plain".

Сначала s3-часть URL рендерится с: 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

Пользовательский тег, который я пробовал вместе с side safe:

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 голосов
/ 30 марта 2012

Django автоматически html экранирует все переменные в шаблонах.Чтобы вставить значение переменной без экранирования, вы должны использовать фильтр safe, чтобы сообщить django, что значение не нужно автоматически экранировать, например:

{{ object.image.url|safe }}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...