Django 中的主题标签功能



我正在构建一个Instagram克隆,我想实现这个功能。 假设用户上传了一张图片,其描述如下:

This is me #HappyTimes #tbh #helloall #blogger #writer

我希望所有主题标签都自动转换为链接。图像描述和主题标签不应有单独的字段;用户编写描述,主题标签被转换。

我该如何实现?目前,我有一个用户,用户配置文件和图像的模型。图像将通过外键连接到用户。

首先,我将假设"转换为链接"是指单个URL,例如 example.com/hashtag,其中主题标签将是URL的内容。

如果您希望在用户键入主题标签时将其转换为链接,您将需要javascript。如果您希望在提交时进行更改,您也可以在python中进行更改。从本质上讲,这是您需要做的:

  1. 获取您正在使用的输入字段的内容。可能将其另存为字符串。
  2. 隔离以井号标签开头的字词。在python中,我可能会将字符串转换为一个列表,该列表将由空格分隔。(对字符串使用 .split(( 方法。
  3. 对于列表中的每个以井号标签开头的字符串,请在开头添加 a,在末尾添加 a。显然,您将不得不决定自己的URL结构。为了获得实际的主题标签文本,可能会从 [1:] 中获取字符串的一部分
  4. 将列表转回字符串
  5. 请确保在生成的模板中允许 HTML。此外,请确保使用漂白剂之类的东西清洁用户的输入。如果您忘记这样做,并且您的网站被XSS入侵,我概不负责。

这是我能想到的最简单的方法。你可以在python中通过表单的save方法,或者在视图本身中,或通过javascript实现这一点。

最新更新