Ini seperti halaman datar, tetapi dengan templat
Ini seperti aplikasi contrib.flatpages
bawaan Django, tetapi tanpa basis data. Itu hanya dokumen html statis yang disajikan dari sistem file Anda.
Saya telah menggunakan aplikasi flatpages
untuk waktu yang lama, tetapi di suatu tempat saya mulai menyimpan konten halaman datar saya (cuplikan html) di repo git dengan sisa proyek saya. Setiap kali saya membuat perubahan pada halaman datar, saya akan mengedit file secara lokal, melakukan perubahan, lalu menyalin dan menempelkan konten baru ke halaman datar yang relevan.
Mengapa tidak menyajikannya saja dari direktori templat saya?
Itulah yang dilakukan staticflatpages
.
Instal rilis terbaru dengan pip:
pip install django-staticflatpages
Versi terbaru dari aplikasi ini menargetkan Django 2.1+ dan Python 3.6+. Unduh terbitan sebelumnya untuk versi lama Django.
Anda dapat menjalankan rangkaian pengujian dengan python manage.py test staticflatpages
, dan membuka Masalah di Github jika Anda mengalami masalah.
staticflatpages
ke INSTALLED_APPS
Anda.staticflatpages.middleware.StaticFlatpageFallbackMiddleware
ke pengaturan MIDDLEWARE
Anda.staticflatpages
. Ini harus menjadi subdirektori dari salah satu templat di pengaturan TEMPLATES
Anda. Templat apa pun yang Anda sertakan di sini (kecuali base.html
) akan disajikan sebagai halaman statis.Misalnya, dengan asumsi direktori templat tingkat proyek Anda diberi nama "templat", maka:
/about/
akan merender templates/staticflatpages/about.html
/about/team/
akan merender templates/staticflatpages/about/team.html
templates/staticflatpages/index.html
), dan tidak ada url lain yang dipetakan ke /
, itu akan digunakan sebagai indeks Anda. Aplikasi ini juga mendukung peta situs untuk halaman datar statis. Untuk mengaktifkan ini, Anda harus memiliki django.contrib.sitemaps
terdaftar di pengaturan INSTALLED_APPS
Anda. Kemudian, siapkan peta situs (misalnya di Root URLconf Anda):
from staticflatpages.sitemaps import StaticFlatpageSitemap
sitemaps = {
'staticflatpages': StaticFlatpageSitemap,
}
Jangan lupa sertakan url peta situs Anda seperti biasa, misalnya:
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'
),
CATATAN : Kerangka sitemaps
juga memerlukan kerangka sites
sehingga Anda perlu menginstalnya, dan Anda juga perlu menentukan SITE_ID
.
Jika Anda menggunakan fitur peta situs, Anda mungkin juga ingin menyertakan pengaturan berikut:
STATICFLATPAGES_CHANGEFREQ
: Sesuai dengan atribut Sitemap.changefreq
(defaultnya adalah never
).STATICFLATPAGES_PRIORITY
: Sesuai dengan atribut Sitemap.priority
(defaultnya adalah 0,5). Aplikasi ini dapat bekerja dengan Django-dirtyedit, yang memungkinkan Anda mengedit file dari admin (jika Anda menginginkannya).
Kode ini didistribusikan berdasarkan ketentuan lisensi MIT. Lihat file LICENSE
.