【问题标题】:Does Django have a template tag that can detect URLs and turn them into hyperlinks?Django 是否有模板标签可以检测 URL 并将其转换为超链接?
【发布时间】:2026-02-07 19:35:01
【问题描述】:

当有人写了一篇文章并复制并粘贴了一个 url 时,Django 可以检测到它并将其呈现为超链接而不是纯文本吗?

【问题讨论】:

    标签: python django http templates url


    【解决方案1】:

    Django 有urlize template filter,它会自动检测 URL 和电子邮件地址,并将它们转换为适当的超链接。

    那里的文档实际上有点薄,所以我建议您也阅读docstring in the source for the urlize function 了解更多信息。

    【讨论】:

      【解决方案2】:
      【解决方案3】:

      另一种选择是以某种方式解析纯文本,例如 reStructuredText(我最喜欢的)或 Markdown(Stack Overflow 使用 Markdown 的稍微修改的变体)。这些都会将有效的纯文本链接目标转换为超链接。这也使您对可以做的事情有更大的权力;您无需借助 HTML 来实现一些基本格式。另请注意,如urlize 所述,您应该只在纯文本上使用它;它不是为与 HTML 混合而设计的。

      【讨论】: