Перенаправления
Модуль redirects предоставляет модели и пользовательский интерфейс для управления произвольными перенаправлениями между URL-адресами и Pages или другими URL-адресами.
Установка
Модуль redirects по умолчанию не включён. Для его установки добавьте wagtail.contrib.redirects в INSTALLED_APPS и wagtail.contrib.redirects.middleware.RedirectMiddleware в MIDDLEWARE в файле настроек вашего проекта Django.
INSTALLED_APPS = [
# ...
'wagtail.contrib.redirects',
]
MIDDLEWARE = [
# ...
# all other django middlware first
'wagtail.contrib.redirects.middleware.RedirectMiddleware',
]
Этот приложение содержит миграции, поэтому убедитесь, что вы выполнили команду migrate django-admin после установки.
Использование
После установки в меню «Настройки» должно появиться новое пунк меню «Перенаправления». Здесь вы можете добавить произвольные перенаправления на ваш сайт.
Для руководства по интерфейсу для редактора см. .
Автоматическое создание перенаправлений
Новое в версии 2.16.
Wagtail автоматически создаёт постоянные перенаправления для страниц (и их потомков) при перемещении или изменении их slug. Это помогает сохранить SEO-рейтинг страниц со временем и помогает посетителям сайта попадать на нужную страницу при использовании закладок или устаревших ссылок.
Создание перенаправлений для альтернативных маршрутов страниц
Если ваш проект использует RoutablePageMixin для создания страниц с альтернативными маршрутами, вам может потребоваться переопределить метод get_route_paths() для этих типов страниц. Добавление популярных путей маршрута в этот список приведёт к созданию дополнительных перенаправлений, помогая посетителям по альтернативным маршрутам попадать на нужную страницу.
Для получения дополнительной информации см. :meth:~wagtail.models.Page.get_route_paths.
Отключение автоматического создания перенаправлений
Новое в версии 4.0: При генерации перенаправлений значения пользовательских полей теперь извлекаются в рамках начального запроса к базе данных, поэтому использование значений пользовательских полей в переопределённых методах URL больше не будет вызывать дополнительных запросов на каждую запись.
Стандартная реализация Wagtail лучше всего подходит для проектов среднего и малого размера (5000 страниц или меньше), которые в основном используют встроенные методы Wagtail для генерации URL-адресов.
Переопределения следующих методов Page учитываются при генерации перенаправлений, но использование определённых полей страницы в этих переопределениях вызовет дополнительные запросы к базе данных.
Если вы считаете, что эта функция не подходит для вашего проекта, вы можете отключить её, добавив следующее в настройки вашего проекта:
WAGTAILREDIRECTS_AUTO_CREATE = False
Команды управления
import_redirects
./manage.py import_redirects
Эта команда импортирует и создаёт перенаправления из файла, предоставленного пользователем.
Параметры:
| Параметр | Описание |
|---|---|
| src | Это путь к файлу, из которого вы хотите импортировать перенаправления. |
| site | Это **сайт**, на который вы хотите сохранить перенаправления. |
| permanent | Если импортированные перенаправления должны быть **постоянными** (True) или нет (False). По умолчанию True. |
| from | Индекс столбца, который вы хотите использовать в качестве значения перенаправления из. |
| to | Индекс столбца, который вы хотите использовать в качестве значения перенаправления на. |
| dry_run | Позволяет выполнить импорт без внесения изменений. |
| ask | Позволяет проверить и утвердить каждое перенаправление перед его созданием. |
Класс Redirect
© 2014-present Torchbox Ltd and individual contributors.
All rights are reserved.
Licensed under the BSD License.
https://docs.wagtail.org/en/stable/reference/contrib/redirects.html