Это похоже на плоские страницы, но с шаблонами
Это похоже на встроенное приложение contrib.flatpages в Django, но без базы данных. Это просто статические HTML-документы, загружаемые из вашей файловой системы.
Я использую приложение flatpages в течение долгого времени, но где-то в процессе я начал хранить содержимое плоской страницы (фрагменты HTML) в репозитории git вместе с остальной частью моего проекта. Каждый раз, когда я вносил изменения в плоскую страницу, я редактировал файл локально, фиксировал изменения, а затем копировал и вставлял новый контент в соответствующую плоскую страницу.
Почему бы просто не использовать их из моего каталога шаблонов?
Это то, что делает staticflatpages .
Установите последнюю версию с помощью pip:
pip install django-staticflatpages
Самая последняя версия этого приложения предназначена для Django 2.1+ и Python 3.6+. Загрузите предыдущий выпуск для более старых версий Django.
Вы можете запустить набор тестов с помощью python manage.py test staticflatpages и открыть проблему на Github, если у вас возникнут какие-либо проблемы.
staticflatpages в свой INSTALLED_APPS .staticflatpages.middleware.StaticFlatpageFallbackMiddleware в настройки MIDDLEWARE .staticflatpages . Это должен быть подкаталог одного из шаблонов в настройках TEMPLATES . Любые шаблоны, которые вы сюда добавите (кроме base.html ), будут использоваться как статическая страница.Например, если каталог шаблонов вашего проекта называется «templates», то:
/about/ будет отображать templates/staticflatpages/about.html/about/team/ будет отображать templates/staticflatpages/about/team.htmltemplates/staticflatpages/index.html ) и никакие другие URL-адреса не сопоставляются с / , он будет использоваться в качестве вашего индекса. Это приложение также поддерживает карты сайта для статических плоских страниц. Чтобы включить их, вам необходимо указать django.contrib.sitemaps в настройках INSTALLED_APPS . Затем настройте карту сайта (например, в конфигурации корневого URL-адреса):
from staticflatpages.sitemaps import StaticFlatpageSitemap
sitemaps = {
'staticflatpages': StaticFlatpageSitemap,
}
Не забудьте включить URL-адреса файлов Sitemap, как обычно, например:
path(
'sitemap-<section>.xml',
sitemaps_views.sitemap,
{'sitemaps': sitemaps},
name='django.contrib.sitemaps.views.sitemap'
),
path(
'sitemap.xml',
sitemaps_views.index,
{'sitemaps': sitemaps},
name='django.contrib.sitemaps.views.sitemap'
),
ПРИМЕЧАНИЕ . Для платформы sitemaps также требуется платформа sites , поэтому вам необходимо ее установить, а также определить SITE_ID .
Если вы используете функцию карт сайта, вы также можете включить следующие настройки:
STATICFLATPAGES_CHANGEFREQ : соответствует атрибуту Sitemap.changefreq (по умолчанию — never ).STATICFLATPAGES_PRIORITY : соответствует атрибуту Sitemap.priority (по умолчанию 0,5). Это приложение может работать с django-dirtyedit, который позволяет вам редактировать файлы от администратора (если вам так хочется).
Этот код распространяется на условиях лицензии MIT. См. файл LICENSE .