Django模板过滤器 - 不可能使用urlize和纺织链接在一起

时间:2012-01-22 09:26:33

标签: django django-templates django-template-filters

我发现使用链式过滤器urlize和纺织品是不可能的。因为urlize过滤器是自动引用引号。另一方面,由于Django的建议,在纺织品输出之后不可能应用urlize:

  

如果urlize应用于已包含HTML标记的文本,那么事情   不会按预期工作。仅将此过滤器应用于纯文本。

任何过滤器序列都不起作用:

In [1]: from django.template import Template, Context
In [2]: text = '''"bla":/mo/14086/
   ...: http://bla.com'''
In [3]: Template('{% load markup %}{{ text|textile|urlize }}').render(Context({'text': text}))
Out[3]: u'\t<p><a href="/mo/14086/">bla</a><br />http://bla.com</p>'    
In [4]: Template('{% load markup %}{{ text|urlize|textile }}').render(Context({'text': text}))
Out[4]: u'\t<p>&quot;bla&quot;:/mo/14086/<br /><a href="http://bla.com" rel="nofollow">http://bla.com</a></p>'

有谁知道如何同时使用这两个过滤器?

更新: 我正在使用Django版本1.4 alpha 1 SVN-17347

1 个答案:

答案 0 :(得分:0)

with的解决方法:

{% with text|urlize as urlized %}
  {{ urlized|textile }}
{% endwith %}