Хештеги в Джанго - PullRequest
0 голосов
/ 24 мая 2018

Я создаю клон Instagram и хочу реализовать эту функцию.Предположим, пользователь загрузил изображение и его описание выглядит следующим образом:

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

Я хочу, чтобы все хештеги автоматически конвертировались в ссылки.Не должно быть отдельного поля для описания изображения и хэштегов;пользователь пишет описание и конвертирует хэштеги.

Как это реализовать?В настоящее время у меня есть модель для пользователя, профиль пользователя и изображение.Изображение будет подключено к пользователю через внешний ключ.

1 Ответ

0 голосов
/ 24 мая 2018

Прежде всего, я предполагаю, что под «преобразованием в ссылки» вы подразумеваете один URL, например example.com/hashtag, где hashtag будет содержимым URL-адреса.

Если вы хотите, чтобы хештеги конвертировались в ссылки по мере их ввода пользователем, вам понадобится javascript.Если вы хотите, чтобы изменение было внесено при отправке, вы также можете сделать это на python.По сути, вот что вам нужно сделать:

  1. Возьмите содержимое поля ввода, с которым вы работаете.Возможно, сохраните его как строку.
  2. Изолируйте слова, начинающиеся с хэштега.В Python я бы, вероятно, преобразовал строку в список, который был бы разделен пробелами.(используйте метод .split () для строки.
  3. Для каждой строки в списке, начинающейся с хэштега, добавьте в начале и в конце. Очевидно,вам нужно будет определиться со своей собственной структурой URL. Чтобы получить фактический текст хэштега, возможно, возьмите фрагмент строки из [1:]
  4. Превратите список обратно в строку
  5. Убедитесь, что вы включили HTML в полученном шаблоне. Также убедитесь, что вы очищаете ввод пользователя чем-то вроде bleach . Я не несу ответственности, если вы забудете это сделать, и ваш сайтвзломан XSS.

Это самый простой способ, который я мог придумать. Возможно, вы могли бы реализовать это либо в python, в методе сохранения формы, либо в самом представлении, либо через javascript..

...