2
我有这个模型是由第三方创建的,我需要访问这个模型并删除标签,我以为我可以使用| removetag过滤器,但它似乎标签是预先逃脱模型,任何人都有有关如何从模板端删除这些标签的建议?如何去除已经过滤的标签?
我有这个模型是由第三方创建的,我需要访问这个模型并删除标签,我以为我可以使用| removetag过滤器,但它似乎标签是预先逃脱模型,任何人都有有关如何从模板端删除这些标签的建议?如何去除已经过滤的标签?
这取决于你的意思是'已经过滤';你能提供任何示例字符串吗?
是否通过|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('&', '&'))
不要忘记创建于templatetags
目录也是一个__init__.py
,然后所以它被注册重新启动服务器。
然后在您的模板:
{% load unescape %}
...
{{ example_string|unescape }}
见http://docs.djangoproject.com/en/dev/howto/custom-template-tags/更好的说明,如果你以前没有这样做过。
另外,你可以在你的模型上在Python代码的某处运行这个,但是你的问题是关于“模板方面”问的。