1

在 Django 模板中,我试图在函数被使用urlize后使用过滤器,它正在生成一个 url 并随后生成它的标签。url<a>

不幸的是,各种使用尝试(url myview)|urlize和类似实验都没有奏效。关于如何将各个部分组合在一起以使事情正常工作的任何想法?

谢谢!

4

2 回答 2

3

那不是urlize目的。它用于在文本块中搜索 URL 并将它们转换为可点击的链接。的结果{% url %}甚至看起来不像是一个链接,因为它是一个相对链接(例如,/index/而不是www.example.com/index),并且文档非常具体地说明了要urlize查找的内容:

http://此模板标签适用于以、https://或为前缀的链接www.

不知道你为什么想要它:自己定义链接很简单:

This is my link: <a href="{% url 'myview' %}">My view</a>
于 2013-10-09T15:02:31.347 回答
2

您需要将 url 分配给一个变量,如下所示:

{% url "myview" as my_url %}
{{ my_url|urlize }}

您也可以只使用{% filter %}来完成相同的操作而无需先分配:

{% filter urlize %}{% url "myview" %}{% endfilter %}

使用上面的海报,做任何这些都没有多大意义。为什么不直接创建超链接本身,而不是依靠过滤器从 url 转换为超链接?

<a href="{% url "myview" %}">{% url "myview" %}</a>
于 2013-10-09T20:01:40.930 回答