使用Wagtail一段时间后的感受

系列文章目录

例如:



前言

Wagtail是一个用Python编写的开源CMS,建立在Django Web框架上。
选择wagtail的原因:

  • 它能快速实现页面的表达,对于我这种对新实现的功能想要找到地方进行展示,但前端能力又不太行的同学
  • 基于django 一直会对django的稳定版本进行支持

一、超快的部署

构建项目

pip install wagtail
wagtail start mysite
cd mysite
pip install -r requirements.txt
python manage.py migrate
python manage.py createsuperuser
python manage.py runserver

得到项目如下:
在这里插入图片描述
构建的时间取决于,你家的网速有多快

配置pycharm运行和调试django项目

这里用社区版的pycharm进行演示,也是最通用的方法
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
配置项目manage.py的路径
参数设置可以使用 runserver 0.0.0.0:8000 或者直接用runserver
配置完成后
就可以使用打断点进行调试,需要注意的是 如果修改了代码并且保存了,项目会重新加载导致断点失效。
在这里插入图片描述

最需要做的事

这个时候我们已经能够看到实际的页面了:
在这里插入图片描述
但是我们需要它吗? 我们不需要,我最开始就说了我最想用的是他的后台管理页面。

还记得之前创建了一个超级用户 python manage.py createsuperuser
这里我们再网站后面加上/admin,进入后台管理页面,到了这里 才是自己最喜欢的一部分,好看的后台页面。
我们需要的就是它的后台。
在这里插入图片描述

二、炫一个博客网站

页面模型

  • 首页模型 HomePage
  • 博客模型 BlogPage
from django.db import models
from wagtail.admin.edit_handlers import FieldPanel
from wagtail.core.fields import RichTextField

from wagtail.core.models import Page


class HomePage(Page):
    # page模型默认提供了title字段
    # title = models.CharField()
    body = RichTextField(blank=True)

    content_panels = Page.content_panels + [
        FieldPanel('body', classname='full')
    ]


class BLogPage(Page):
    tag = models.CharField(max_length=255)
    category = models.CharField(max_length=255)
    body = RichTextField(blank=True)

    content_panels = Page.content_panels + [
        FieldPanel('tag', classname='full'),
        FieldPanel('category', classname='full'),
        FieldPanel('body', classname='full'),
    ]

然后后台管理页面查看一下,在创建页面的时候就能够找到新建好的model,把model中的字段增加到content_panels 里就能在后台进行编辑。wagtail还提供了一种流式的布局方案可以对内容进行更多的自定义,普通的富文本编辑已经足够使用。我还尝试结合第三方库对字段支持md编辑器,和更加丰富的富文本编辑能力。
当然图片的支持也是相当的好的。
在这里插入图片描述
在这里插入图片描述

页面管理

默认是提供了一个home页面对应的就是HomePage ,点击home页面后进入子页面管理,这里可以包含分类model,博客model标签model,画廊model等,即便是根据现有的两个page(homepage/blogpage)都能构建一个结构完整的博客架构。

简单尝试:
在这里插入图片描述
对页面可以进行实时的查看,可以说对急于看到数据的朋友来说是一个经常使用的东西,我在日常工作中,通常会在不同场景下基于基本的页面model去构建一个新的单一的pagemodel,通常这个pagemodel也只会使用一次,到了版本需要迭代更新的时候才会去基于这个pagemodel新建一个页面,新的功能再新的页面上实现后,直接对页面的缩略名进行替换即可。

总结

wagtail是一个快速搭建文档管理网站的利器,后台管理平台使用的非常让人舒适。
在工作中我实现了什么,使用wagtail 实现了对项目资料的管理构建多种场景的blogpage,

  • 结合富文本工具直接实现复制粘贴即为 发布即可见,
  • 构建通用form,完成项目效率工具的集成。
  • 结合表格实现项目设备管理
  • 实现todolist 帮助同事及时更新工作进度
  • 监控项目设备的健康
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

坠入my

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值