Spec-Zone.ru › Wagtail

Перенаправления

Модуль 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 учитываются при генерации перенаправлений, но использование определённых полей страницы в этих переопределениях вызовет дополнительные запросы к базе данных.

  • get_url_parts()
  • get_route_paths()

Если вы считаете, что эта функция не подходит для вашего проекта, вы можете отключить её, добавив следующее в настройки вашего проекта:

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API