在 Django 模板中,我试图在函数被使用urlize
后使用过滤器,它正在生成一个 url 并随后生成它的标签。url
<a>
不幸的是,各种使用尝试(url myview)|urlize
和类似实验都没有奏效。关于如何将各个部分组合在一起以使事情正常工作的任何想法?
谢谢!
那不是urlize
目的。它用于在文本块中搜索 URL 并将它们转换为可点击的链接。的结果{% url %}
甚至看起来不像是一个链接,因为它是一个相对链接(例如,/index/
而不是www.example.com/index
),并且文档非常具体地说明了要urlize
查找的内容:
http://
此模板标签适用于以、https://
或为前缀的链接www.
。
不知道你为什么想要它:自己定义链接很简单:
This is my link: <a href="{% url 'myview' %}">My view</a>
您需要将 url 分配给一个变量,如下所示:
{% url "myview" as my_url %}
{{ my_url|urlize }}
您也可以只使用{% filter %}
来完成相同的操作而无需先分配:
{% filter urlize %}{% url "myview" %}{% endfilter %}
使用上面的海报,做任何这些都没有多大意义。为什么不直接创建超链接本身,而不是依靠过滤器从 url 转换为超链接?
<a href="{% url "myview" %}">{% url "myview" %}</a>