Wagtail流字段中的网站分区
项目描述
Wagtail Site Sections 
常见的wagtail流字段块,可以快速构建网站分区。
英雄面板、"我们的团队"视图、产品列表、常见问题解答等,作为wagtail流字段添加到页面。
原因
您正在为一家出色的初创公司创建网站和应用。或者俱乐部、企业或任何东西。所以您下载了大量前端组件模板。
哇,它们看起来太棒了!!!由专业设计师打造,一切看起来都非常出色!
您最终会将这些转变为一个真正的应用,所以WordPress不适用。您需要一个能够为您服务的网站,所以您创建了一个看起来很棒网站。但是,客户真的应该能够编辑自己的网站内容...他们需要
- 一个CMS。
- 了解如何在代码层面切割和更改他们的网站,然后重建并部署到任何地方。
叹息。
- 我不想每次客户需要网站调整时都收取半天费用,这感觉是不对的。
- 我不想被客户要求进行网站调整,这很烦人,而且还有更重要的事情要做。
所以,就让他们拥有他们想要的任何页面结构吧!
进入Wagtail流字段 - 流字段的文档展示了如何快速灵活地创建流字段块来管理此类部分。
如果您需要灵活性,创建自己的块!但根据我的经验,大多数网站一次又一次地需要完全相同的BS。所以,这就是它。一些建筑网站块的常用块。
要么复制/粘贴它们,安装此应用程序并使用一切现成,要么从该应用程序继承块以进行定制。
示例
我使用wagtail_site_blocks构建了traffickingpast.uk。
我从creative-tim获取模板,构建了网站页面和应用程序,使用无头模式下的wagtail来管理应用程序内容(故事、法规记录和地图位置)。
但是,我的客户几乎无法编辑网站页面 - 他们需要知道如何编辑JSX,并理解git flow才能部署更改。这是一个很大的要求,也不是那些聪明且专注的历史学家在地球上被放置的目的。
我已经使用wagtail-react-streamfield来渲染故事的 内容,所以我想为什么不用同样的方式来处理页面内容呢?我只是在BasePage模型中添加了一个流字段,bingo... 不需要任何技术技能就可以对网站进行重大编辑。
情感满足感
我不会为了钱发布开源软件。我这样做
- 为了对世界产生影响
- 为了帮助他人的情感满足感
- 以回报所有使我在所做之事上变得更好、更快的开源软件开发者。
底线:如果您使用或喜欢它,请在Github上星标此仓库,这就是我的报酬! :)
架构决策 - 流字段而非片段
我可以轻松地将每个部分制作成SectionSnippet(不同类型),而不是使用流字段。但是
- 这在安排页面内容方面灵活性较小
- 更难扩展以添加新部分
- 数据存储在页面上不同的表中,我认为最好将页面上所有数据(最终都渲染成静态页面)保存在一个地方,而不是创建不必要的连接)
模板
“但是,模板在哪里?!”是一个自然的问题。答案:目前还没有模板...但是您可以轻松添加自己的模板。
我在无头模式下运行所有wagtail安装,使用React前端,因此只能为管理wagtail上的部分设置模板(目前如此)。如果有足够的流量需要担心SPA的性能而不是服务器端渲染的页面,我将添加gatsby以预构建网站页面。这将扩展到史诗般的规模。
如果您想创建PR,以便更容易在非无头模式下使用它,我非常愿意合作:)
在前端显示部分
创建组件
如何连接它们由您决定,但您基本上需要一个看起来很漂亮的组件来表示每个部分类型,它接受作为props的该部分的模式(有关部分模式,请参阅下文)。
React:将流字段数据转换为组件props
在客户端,我使用react(请参阅上述关于在无头模式下使用wagtail的nanorant)。
我使用我的另一个库wagtail-react-streamfield来提取流字段数据作为组件props,并通过选择流字段类型将流字段作为组件的列表/层次结构来渲染。
路线图
我希望包括更多的部分。我会随着在网站上使用它们而添加它们。如果您需要部分,请
- 分支,添加,并创建一个PR。我会在有时间的时候进行审查,如果符合质量要求,我会添加。
- 编写您想要的部分的架构并将其放入问题中。我会在某个时候考虑添加,但没有任何保证。
- 如果您希望“某个点”非常快,并且希望“没有保证”变为“保证”,那么这很酷,但我会需要付费;)
需求
Wagtail_site_sections在Django 2.1或更高版本和Wagtail 2.3或更高版本上进行测试。
支持版本
Python: 3.6
Django: 2.1
Wagtail: 2.3
入门
使用pip安装
pip install wagtail_site_sections
如果您已经有了自己的页面模型,并且不想添加另一个表/应用...
将以下内容添加到您的*页面模型
或者如果您想使用SectionsPage模型...
添加到INSTALLED_APPS
INSTALLED_APPS = [
...,
'wagtail_site_sections',
...
]
运行迁移
python manage.py migrate wagtail_site_sections
然后向您的CMS添加一个SectionPage并试一试。
项目详情
wagtail_site_sections-0.2.0.tar.gz的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | b9070bc104eff19929451e6f7fd3f1472f8c47784c204e12a4a7dbc767634a69 |
|
MD5 | 11f9bfa0017693076ab16b9f206689e8 |
|
BLAKE2b-256 | c946c82c89fa61a29f2719a6cb1748ca51f4678e4641def0fe4734171fe146ee |