Python 如何使注释中的标记用户成为指向该用户的超链接';谁的主页?(Django)

Python 如何使注释中的标记用户成为指向该用户的超链接';谁的主页?(Django),python,html,django,web,hyperlink,Python,Html,Django,Web,Hyperlink,就像facebook一样,如果我在我的评论中标记某人,比如“@Mike”,然后在我发布之后,在网站上,我可以看到我的评论,评论的内容有@Mike,这是一个超链接,我点击它,它可以将我重定向到该用户的页面。我不知道该怎么做,有什么建议吗 顺便说一句,目前我可以将标记的用户名检索到我的后端,我只是不知道如何将该用户名作为超链接呈现回来。您可以使用模板标记:安全 假设您的post上下文变量是:quote=@Mike是个傻瓜 抓取@Mike,添加html,使其成为链接,并在保存帖子时重新插入。因此,保存

就像facebook一样,如果我在我的评论中标记某人,比如“@Mike”,然后在我发布之后,在网站上,我可以看到我的评论,评论的内容有@Mike,这是一个超链接,我点击它,它可以将我重定向到该用户的页面。我不知道该怎么做,有什么建议吗


顺便说一句,目前我可以将标记的用户名检索到我的后端,我只是不知道如何将该用户名作为超链接呈现回来。

您可以使用
模板标记
安全

假设您的post上下文变量是:
quote
=
@Mike是个傻瓜

抓取
@Mike
,添加
html
,使其成为链接,并在保存帖子时重新插入。因此,保存的帖子是:

quote
=
是个傻瓜

然后在
html模板中使用safe

{{ quote|safe }}
以下是
safe
模板标记的文档链接:


Facebook在
@
之后的每个按键处都会从浏览器向他们的数据库发出请求。一旦您选择用户名,比如说
@Mike
,他们会使用您选择的值向表单中添加一个输入字段,类似于:

<input value="@12345678:Mike"></input>.
您提交评论,服务器将处理您的请求,使用
值将文本框中的
@Mike
替换为他们想要的任何内容。

这应该有效 保存表单后,请放入此脚本


p=重新编译('@[a-z]+'))
对于表单中的word.comment.split():
如果p.匹配(单词)!=无:
新单词=列表(单词)[1:len(列表(单词))]
名称=“”
对于新词中的元素:
名称+=元素

在“如果”条件下写在行下方(不能在此处正确缩进)

new_comment=re.sub('@[a-z]+','',yourform.comment)`
现在在模板中,将“新注释”渲染为安全的


{{new_comment | safe}}

捕获URL中的某个用户唯一字段(ID?用户名?),并在某个“用户页面”模板上呈现该用户的信息?然后,只需将链接指向正确的位置即可。URL调度几乎涵盖了如何将URL处理为“静态”(始终指向相同的内容)或“动态”(使用参数)。创建必要的视图,创建指向该视图的url,使用用户名(或其他东西)作为用户标识符,您应该很好。在我标记了某个用户之后,我将其呈现到模板

{comment}

,因此页面源代码就像

@Mike是个傻瓜

,我的意思是我如何制作这个“@Mike”超链接,只是这个“@Mike”,不是整个

标签内容。酷,安全模板标签就是我这里需要的所有东西。谢谢

new_comment=re.sub('@[a-z]+','<a href='+name+'s_profile>'+name+'</a>',yourform.comment)`