django staticflatpages
1.0.0
它就像平面页面,但带有模板
这就像 Django 的内置contrib.flatpages应用程序,但没有数据库。它只是从文件系统提供的静态 html 文档。
我已经使用flatpages应用程序很长一段时间了,但在某个时候,我开始将我的 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 映射到/ ,它将用作您的索引。 该应用程序还支持静态平面页面的站点地图。要启用这些功能,您需要在INSTALLED_APPS设置中列出django.contrib.sitemaps 。然后,设置站点地图(例如在您的根 URLconf 中):
from staticflatpages.sitemaps import StaticFlatpageSitemap
sitemaps = {
'staticflatpages': StaticFlatpageSitemap,
}
不要忘记像平常一样包含您的站点地图网址,例如:
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文件。