我有这个模型由第三方创建,我需要访问此模型并删除标签,我想我可以使用| removetag过滤器,但似乎标签是预先转义的模型,任何人对于我如何从模板端删除这些标签有一些建议?
答案 0 :(得分:1)
这取决于你的意思已经过滤了&#39 ;;你能提供任何示例字符串吗?
通过|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('<', '<').replace('>', '>').replace('"', '"').replace(''', "'").replace('&', '&'))
不要忘记在__init__.py
目录中创建templatetags
,然后重新启动服务器以便注册。
然后在你的模板中:
{% load unescape %}
...
{{ example_string|unescape }}
如果您以前没有这样做,请参阅http://docs.djangoproject.com/en/dev/howto/custom-template-tags/以获得更好的说明。
或者你可以在某个地方使用python代码在你的模型上运行它,但你的问题是关于&#34;模板方面&#34;。