lin-cms-flask 0.1.0-beta.2 升级指南

简介

新版 dashboard 页

就在前两天,林间有风团队发布了lin-cms-flask 0.1.0-beta.2,这一个版本主要开放了文件上传的API,并且修复了一些bug。详情请查看官方的更新日志
作为lin-cms的flask版本主要维护者之一,这两天收到不少反馈,主要有关之前版本的项目迁移难、升级难的问题。
对于lin-cms这种偏业务型的开源项目,升级起来着实非常费劲,这也是我发表这边文章的原因,希望通过这边文章可以降低使用lin-cms开发者的升级难度。
笔者将在本篇文章介绍升级的步骤和注意事项。

升级老大难?

上面已经说过,偏重业务的性质导致了升级难。但并不是不能解决。只要框架没有发生革命性的重构,并且开发者有一定的技术基础,对照官方更新日志,足够细心,也是可以无痛升级的。
在目前阶段,lin-cms还在做一些框架的基础必备业务的完善,比如前两日刚发布的文件上传,即将发布的系统日志等等。对于今后的业务,我们将更多地以插件的形式推出,这样就可以做到不需要频繁升级主体框架的前提下,只选择安装或卸载你所想要的插件即可愉快的使用官方推出的新功能。

如何升级

好了,经过前两节的唠叨。我们正式开始升级

下载最新的 release

首先我们去官方仓库去下载最新的release,即0.1.0-beta.2

更新核心库版本

下载完成后,打开Pipfilerequirements.txt任意一个文件,你可以看到依赖包 Lin-CMS的版本已经从0.1.1b2 变为了 0.1.1b3,如果你使用pip管理依赖包,在终端执行下面的命令:

pip install Lin-CMS==0.1.1b3
复制代码

如果你使用pipenv(也是官方推荐的方式)管理依赖包,请执行:

pipenv install Lin-CMS==0.1.1b3
复制代码

添加字段

由于这个版本我们开放了头像上传功能,所以你需要为 lin_user 表增加 avatar字段
头像上传功能截图

创建文件上传静态目录

打开新版本的框架后,你可以看到应用目录下多了一个 extension 目录,这个文件夹里面存放了我们最新的上传文件的类和配置项等。要使用文件上传,请在应用目录(app)下手动创建 assets目录。

修改静态文件目录名称

在创建好静态文件目录后,我们需要这个目录的资源能被外网所访问,那么就需要更改flask的配置了,你可以在app/app.py的第29行看到,我们通过向Falsk传入构造参数static_folder的方式指定了静态文件目录,如果你的老版框架未指定位置,请手动修改:

app = Flask(__name__, static_folder='./assets')
复制代码

运行框架

好了,你已完成了本次更新的所有操作,简不简单?那么Make it works吧!
文件上传系统文档请参考官方文档

结语

如果你完整的看完了这边文章,我在此表示感谢,如果你初次听到Lin-CMS框架,一定要去体验一番。线上demo的链接在这里,若是符合你的口味,一定要去下载源码体验一番,别忘了给个star,林间有风团队真的是很认真地在做这件事,目前前端使用vue,后端已经有了flask和koa版本,Java版本也即将推出。也相信今后的日子里不会让你失望。

转载于:https://juejin.im/post/5cf720fef265da1b897abdc5

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Lin-CMS 是林间有风团队经过大量项目实践所提炼出的一套内容管理系统框架。 Lin-CMS 可以有效的帮助开发者提高 CMS 的开发效率。 Lin CMS 特点: Lin CMS 的构筑思想是有其自身特点的。下面我们阐述一些 Lin 的主要特点。 1、Lin CMS 是一个前后端分离的 CMS 解决方案 这意味着,Lin 既提供后台的支撑,也有一套对应的前端系统,当然双端分离的好处不仅仅在于此,我们会在后续提供NodeJS和PHP版本的 Lin。如果你心仪 Lin,却又因为技术栈的原因无法即可使用,没关系,我们会在后续提供更多的语言版本。为什么 Lin 要选择前后端分离的单页面架构呢? 首先,传统的网站开发更多的是采用服务端渲染的方式,需用使用一种模板语言在服务端完成页面渲染:比如 JinJa2、Jade 等。 服务端渲染的好处在于可以比较好的支持 SEO,但作为内部使用的 CMS 管理系统,SEO 并不重要。 但一个不可忽视的事实是,服务器渲染的页面到底是由前端开发者来完成,还是由服务器开发者来完成?其实都不太合适。现在已经没有多少前端开发者是了解这些服务端模板语言的,而服务器开发者本身是不太擅长开发页面的。那还是分开吧,前端用最熟悉的 Vue 写 JS 和 CSS,而服务器只关注自己的 API 即可。 其次,单页面应用程序的体验本身就要好于传统网站。 2、框架本身已内置了 CMS 常用的功能 Lin 已经内置了 CMS 中最为常见的需求:用户管理、权限管理、日志系统等。开发者只需要集中精力开发自己的 CMS 业务即可。 3、Lin CMS 本身也是一套开发规范 Lin CMS 除了内置常见的功能外,还提供了一套开发规范与工具类。换句话说,开发者无需再纠结如何验证参数?如何操作数据库?如何做全局的异常处理?API 的结构如何?前端结构应该如何组织?这些问题 Lin CMS 已经给出了解决方案。当然,如果你不喜欢 Lin 给出的架构,那么自己去实现自己的 CMS 架构也是可以的。但通常情况下,你确实无需再做出架构上的改动,Lin 可以满足绝大多数中小型的 CMS 需求。 举例来说,每个 API 都需要校验客户端传递的参数。但校验的方法有很多种,不同的开发者会有不同的构筑方案。但 Lin 提供了一套验证机制,开发者无需再纠结如何校验参数,只需模仿 Lin 的校验方案去写自己的业务即可。 还是基于这样的一个原则:Lin CMS 只需要开发者关注自己的业务开发,它已经内置了很多机制帮助开发者快速开发自己的业务。 注意:该软件为前端框架,如需后端框架,请到官网中进行相应的下载。
Lin-CMS 是林间有风团队经过大量项目实践所提炼出的一套内容管理系统框架。 Lin-CMS 可以有效的帮助开发者提高 CMS 的开发效率。 Lin CMS 特点: Lin CMS 的构筑思想是有其自身特点的。下面我们阐述一些 Lin 的主要特点。 1、Lin CMS 是一个前后端分离的 CMS 解决方案 这意味着,Lin 既提供后台的支撑,也有一套对应的前端系统,当然双端分离的好处不仅仅在于此,我们会在后续提供NodeJS和PHP版本的 Lin。如果你心仪 Lin,却又因为技术栈的原因无法即可使用,没关系,我们会在后续提供更多的语言版本。为什么 Lin 要选择前后端分离的单页面架构呢? 首先,传统的网站开发更多的是采用服务端渲染的方式,需用使用一种模板语言在服务端完成页面渲染:比如 JinJa2、Jade 等。 服务端渲染的好处在于可以比较好的支持 SEO,但作为内部使用的 CMS 管理系统,SEO 并不重要。 但一个不可忽视的事实是,服务器渲染的页面到底是由前端开发者来完成,还是由服务器开发者来完成?其实都不太合适。现在已经没有多少前端开发者是了解这些服务端模板语言的,而服务器开发者本身是不太擅长开发页面的。那还是分开吧,前端用最熟悉的 Vue 写 JS 和 CSS,而服务器只关注自己的 API 即可。 其次,单页面应用程序的体验本身就要好于传统网站。 2、框架本身已内置了 CMS 常用的功能 Lin 已经内置了 CMS 中最为常见的需求:用户管理、权限管理、日志系统等。开发者只需要集中精力开发自己的 CMS 业务即可。 3、Lin CMS 本身也是一套开发规范 Lin CMS 除了内置常见的功能外,还提供了一套开发规范与工具类。换句话说,开发者无需再纠结如何验证参数?如何操作数据库?如何做全局的异常处理?API 的结构如何?前端结构应该如何组织?这些问题 Lin CMS 已经给出了解决方案。当然,如果你不喜欢 Lin 给出的架构,那么自己去实现自己的 CMS 架构也是可以的。但通常情况下,你确实无需再做出架构上的改动,Lin 可以满足绝大多数中小型的 CMS 需求。 举例来说,每个 API 都需要校验客户端传递的参数。但校验的方法有很多种,不同的开发者会有不同的构筑方案。但 Lin 提供了一套验证机制,开发者无需再纠结如何校验参数,只需模仿 Lin 的校验方案去写自己的业务即可。 还是基于这样的一个原则:Lin CMS 只需要开发者关注自己的业务开发,它已经内置了很多机制帮助开发者快速开发自己的业务。 注意:该软件为前端框架,如需后端框架,请到官网中进行相应的下载。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值