猿问

Django将子字符串包含在带有href属性的锚标记的字符串中

现在我使用正则表达式搜索给定字符串中的子字符串,然后将其包含在带有 jinja 模板中的 href 的锚标记中


pattern = re.compile(rf"({substring})",re.IGNORECASE);

anchoredString = mark_safe(re.sub(pattern, "<a href=\"{% url 'url' substring %}\">"+substring+"</a>"),string)))

标签工作正常,但是当我单击链接时,它会尝试将我重定向到文字“{% url 'url' substring %}”而不是我在 urls.py 中定义的“url”路径。


有没有更好的方法来做到这一点?


千万里不及你
浏览 86回答 1
1回答

Smart猫小萌

您需要先将 url 作为字符串获取。您可以使用反向方法执行此操作from django.urls import reversepattern = re.compile(rf"({substring})",re.IGNORECASE);# `url` is the name of the url pathurl = reverse("url", args=[substring])anchoredString = mark_safe(re.sub(pattern, f'<a href="{url}">{substring}</a>'),string)))
随时随地看视频慕课网APP

相关分类

Python
我要回答