【发布时间】:2021-11-07 09:42:18
【问题描述】:
嗨,我想在帖子内容中在 django 中显示带有 url 的#hashtag。为此,我创建了一个简单的客户过滤器。但是我在使用“url 标签”时遇到了问题。
tag_name.py:
@register.filter(name='mention',is_safe=True)
@stringfilter
def mention(value):
res = ""
my_list = value.split()
for i in my_list:
if i[0] == '#':
if len(i[1:]) > 1:
<!-- my problem is here -->
i = f"<a href="{% url 'recommendation_posts' %}?q={i}&submit=Search">i</a>"
res = res + i + ' '
return res
html:
<p> {{ post.content|mention|safe }}</p>
例如:当有人写“我喜欢#python”时,我想呈现为“我喜欢#python”
我的主要问题是这个 {% url %} 在模板标签中不起作用。我该如何实现它谢谢。
【问题讨论】:
-
django 不希望从您调用的函数返回模板标签。根据 django,该行已经被解析。我认为这可能是问题所在。
-
@VishalSingh 谢谢你的回复。我已经解决了。
标签: django django-views django-templates django-template-filters