摇尾河现场断面
wagtail-site-sections的Python项目详细描述
wagtail站点部分src="https://warehouse camo.cmh1.psfhosted.org/7c596bcb411eed412ef309d26d941bd42bb8fa39/687470733a2f2f7472617669732d63692e636f6d2f7468636c61726b2f7761677461696c5f736974655f73656374696f6e732e7376673f6272616e6383d6d61173746572" />
常用的wagtail streamfield块用于快速构建网站部分。
英雄面板、"我们的团队"视图、产品列表、常见问题解答等)作为wagtail流字段添加到页面。
为什么
你正在为一个很棒的创业公司创建一个网站和应用程序。或是俱乐部,或是生意之类的。所以你下载了很多 前端的组件模板。
< Buff行情>伙计,他们看起来很棒!!!!由专业设计师打造,一切看起来都是令人惊叹的图腾!< /P> 你最终会把它变成一个合适的应用程序,所以WordPress就退出了。你想要为你的网站服务
所以你建立了一个非常漂亮的网站。但客户真的应该能够编辑自己的网站内容…
他们需要:
叹气。和:
- 我不想每次我的客户需要调整网站时,都要向他们收取半天的费用,这感觉不对。
- 我不想让客户为网站的调整而烦恼,这很烦人,而且还有更大的麻烦要做。
所以让我们用他们想要的任何页面结构来设置他们!
输入wagtail streamfield-streamfield的文档向您展示了如何快速灵活地创建streamfield块 管理这样的分区。
如果你需要灵活性,创建你自己的块!但根据我的经验,大多数网站一次又一次地需要完全相同的bs。 就在这里。一堆用于构建网站块的公共块。
复制/粘贴它们,安装此应用程序并使用所有现成的功能,或者将此应用程序中的块子类化以进行自定义。
示例
我使用Wagtail站点块构建了traffickingPast.ukTraffickingPast.uk。
我从creative tim中获取模板 以及一个应用程序,在无头模式下使用wagtail来管理应用程序内容(故事、立法记录和位置 对于地图)。
但是网站页面实际上是我的客户无法编辑的-他们需要知道如何编辑jsx以及 了解git流以便部署更改。这是一个大问题,而不是那些可笑的聪明和专注 历史学家被派到地球上去做。
我已经在使用wagtail react streamfield来呈现故事的内容,所以我想为什么不这样做 有页面内容吗?我刚刚添加了一个流线型的wagtail_网站_块到我的网页模型和宾果…无技术 对网站进行实质性编辑所需的技能。
情感满足
我不是为了钱才出版OSS的。我这样做:
- 影响世界
- 为了帮助别人的情感满足
- 为了回报所有让我做得更好更快的开源软件开发人员。
底线:如果您使用或喜欢,请在github上启动此回购协议,这是我的付款!:)
架构决策-流字段不是片段
我可以很容易地将每个部分都变成一个片段片段(不同类型),而不是使用streamfield。但是:
- 这在安排页面内容方面有点不够灵活
- 添加新节不太容易扩展
- 数据存储在页面模型之外的另一个表中,我认为最好保留页面数据(最终 呈现到本质上是静态页的内容)在一个地方比创建不必要的连接更容易获得成功)
模板
"但是,模板在哪里?!"是一个自然的问题。答:目前还没有任何模板…但你可以加上 您的直截了当。
我在无头模式下运行我所有的摇尾装置,前端有一个反应,所以只能证明 管理wagtail部分的模板(目前)。如果有足够的流量来关注 作为spa而不是服务器端呈现的页面,我将把gatsby添加到mix中以预构建站点页面。 这将按震级缩放。
如果你想做一个公关,这样可以更容易地在无头模式下使用,我非常愿意合作:)
在前端显示部分
创建组件
如何连接它们取决于您,但基本上需要为每个接受 作为部分架构的支柱(请参阅下面的部分架构)。
反应:将streamfield数据转换为组件道具
在前端,我使用react(请参阅前面提到的在无头模式下使用wagtail的nanorant)。
我使用我的另一个库,wagtail react streamfield将streamfield数据提取为组件属性,并呈现 streamfield作为组件的列表/层次结构,按streamfield类型选择组件。
路线图
我想包括更多的部分。当我在一个网站上使用它们时,我在添加。如果您需要一个部分,请选择:
- fork,add,和make a pr.我会在有时间的时候回顾,如果符合质量要求,我会添加。
- 写出你想要的部分的模式,然后把它放到一个问题中。我会考虑在某个时候添加,但没有承诺。
- 如果你想让"某个点"很快到来,并且希望"没有承诺"成为"承诺",那么这很酷,但我需要得到报酬;)
要求
在Django 2.1或更高版本和Wagtail 2.3或更高版本上测试Wagtail_site_部分。
支持的版本
蟒蛇:3.6
django:2.1
摇尾巴:2.3
开始
从PIP安装:
pip install wagtail_site_sections
如果您已经有自己的页面模型,并且不想添加其他表/应用程序…
在*页面模型中添加以下内容:
或者如果您想使用SectionsPage模型…
添加到已安装的应用程序中
INSTALLED_APPS=[...,'wagtail_site_sections',...]
运行迁移:
python manage.py migrate wagtail_site_sections
然后在您的CMS中添加一个分区页,并对其进行旋转。