Как автоматически заменить слово на другое?

В настоящее время я использую Django 4.0 и пытаюсь найти способ преобразовать следующее: [year] в текущий год.

Нужно автоматически заменять каждый раз, когда встречается [year]. Будь то из панели администратора, из CKEDITOR, или комментариев и т.д.

Я могу найти способы сделать это, когда [year] жестко задан, но я не знаю, как заставить его работать, когда я публикую запись в блоге из Django Admin, например.

Также добавлю, что я пробовал использовать JS для преобразования тега [year] в текущий год. Проблема в том, что это не работает ни для заголовка страницы, ни для поисковых систем. Они все равно будут индексировать страницу с [year] вместо 2022, например. Использование JS хорошо работает для людей, но не с точки зрения SEO.

<

Это довольно просто:

Предположим, у нас есть модель Post, и у нее есть поле content:

from datetime import date

current_year = date.today().year

new_post = Post.objects.last()

if "[year]" in new_post.content:
    new_post.content.replace("[year]", str(current_year)  )
Вернуться на верх