跳转到主要内容

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 (27.2 kB 查看散列)

上传时间

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面