Es ist wie Flatpages, aber mit Vorlagen
Dies ähnelt der integrierten contrib.flatpages -App von Django, jedoch ohne die Datenbank. Es handelt sich lediglich um statische HTML-Dokumente, die von Ihrem Dateisystem bereitgestellt werden.
Ich benutze die flatpages -App schon seit langem, aber irgendwann habe ich angefangen, meinen Flatpage-Inhalt (HTML-Schnipsel) zusammen mit dem Rest meines Projekts im Git-Repository zu belassen. Jedes Mal, wenn ich eine Änderung an einer Flatpage vornahm, habe ich die Datei lokal bearbeitet, die Änderungen übernommen und dann den neuen Inhalt kopiert und in die entsprechende Flatpage eingefügt.
Warum stellen Sie diese nicht einfach aus meinem Vorlagenverzeichnis bereit?
Das ist es, was staticflatpages macht.
Installieren Sie die neueste Version mit pip:
pip install django-staticflatpages
Die neueste Version dieser App zielt auf Django 2.1+ und Python 3.6+ ab. Laden Sie eine frühere Version für ältere Versionen von Django herunter.
Sie können die Testsuite mit python manage.py test staticflatpages ausführen und bei Problemen ein Issue auf Github öffnen.
staticflatpages zu Ihren INSTALLED_APPS hinzu.staticflatpages.middleware.StaticFlatpageFallbackMiddleware zu Ihren MIDDLEWARE Einstellungen hinzu.staticflatpages -Vorlagenverzeichnis. Dies sollte ein Unterverzeichnis einer der Vorlagen in Ihrer TEMPLATES Einstellung sein. Alle hier eingefügten Vorlagen (mit Ausnahme von „ base.html “) werden als statische Seite bereitgestellt.Angenommen, Ihr Vorlagenverzeichnis auf Projektebene heißt „templates“, dann gilt Folgendes:
/about/ rendert templates/staticflatpages/about.html/about/team/ rendert templates/staticflatpages/about/team.htmltemplates/staticflatpages/index.html ) einfügen und keine andere URL auf / verweist, wird diese als Index verwendet. Diese App unterstützt auch Sitemaps für staticflatpages. Um diese zu aktivieren, muss django.contrib.sitemaps in Ihrer INSTALLED_APPS Einstellung aufgeführt sein. Richten Sie dann eine Sitemap ein (z. B. in Ihrer Root-URLconf):
from staticflatpages.sitemaps import StaticFlatpageSitemap
sitemaps = {
'staticflatpages': StaticFlatpageSitemap,
}
Vergessen Sie nicht, die URLs Ihrer Sitemaps wie gewohnt anzugeben, z. B.:
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'
),
HINWEIS : Für das sitemaps Framework ist auch das sites -Framework erforderlich, daher muss dieses installiert sein und Sie müssen auch eine SITE_ID definieren.
Wenn Sie die Sitemaps-Funktion verwenden, möchten Sie möglicherweise auch die folgenden Einstellungen einbeziehen:
STATICFLATPAGES_CHANGEFREQ : Entspricht dem Sitemap.changefreq -Attribut (standardmäßig never ).STATICFLATPAGES_PRIORITY : Entspricht dem Sitemap.priority Attribut (Standardwert 0,5). Diese App könnte mit django-dirtyedit zusammenarbeiten, wodurch Sie Dateien vom Administrator aus bearbeiten können (wenn Sie möchten).
Dieser Code wird unter den Bedingungen der MIT-Lizenz verteilt. Siehe die LICENSE Datei.