2011-03-03 20 views
2

我有这个模型是由第三方创建的,我需要访问这个模型并删除标签,我以为我可以使用| removetag过滤器,但它似乎标签是预先逃脱模型,任何人都有有关如何从模板端删除这些标签的建议?如何去除已经过滤的标签?

回答

1

这取决于你的意思是'已经过滤';你能提供任何示例字符串吗?

是否通过|safe|removetags有帮助吗?

我想你也知道,如果你想删除所有的标签,你可以使用|striptags

编辑:上传示例数据。好吧,如果你的字符串看起来像那样,你需要创建django“escape”过滤器的反转 - 例如,在您的应用程序之一创建一个templatetags模块,创建unescape.py

from django import template 
from django.utils.safestring import mark_safe 
from django.utils.encoding import force_unicode 

register = template.Library() 

@register.filter 
def unescape(value): 
    return mark_safe(force_unicode(value).replace('&lt;', '<').replace('&gt;', '>').replace('&quot;', '"').replace('&#39;', "'").replace('&amp;', '&')) 

不要忘记创建于templatetags目录也是一个__init__.py,然后所以它被注册重新启动服务器。

然后在您的模板:

{% load unescape %} 
... 
{{ example_string|unescape }} 

http://docs.djangoproject.com/en/dev/howto/custom-template-tags/更好的说明,如果你以前没有这样做过。

另外,你可以在你的模型上在Python代码的某处运行这个,但是你的问题是关于“模板方面”问的。