Published: 29 Jul 2018 › Updated: 29 Jul 2018
使用Flask和React构建博客系统(1)
背景
我想建立一个自己的博客系统,主要是以下几个方面的诉求。
- 担心内容会丢失。用别人的网站,总担心哪一天它关闭了,或者出故障了,自己的辛苦产出岂不是付诸东流。
- 希望随时编辑修改。有些网站基本上是不用担心丢失问题,比如基于区块链的steemit网站,或者IPFS文件系统。但是要想编辑修改就比较费劲了。
- 希望保留一些隐私。有一些文章,希望只有我能查看,起一个备忘的作用。其它很多博客网站是不支持的,另外即使支持,自己也放心不过。
- 方便检索和定制。我的文章希望分门别类管理,还可以加各种标签,然后极速搜索。这些功能虽然别的博客网站也有,但不如自己完全掌控感觉爽。
基于以上考虑,我决定开发一个自己的博客系统。
技术方案选型
我租用的是一个很便宜的VPS,CentOs系统,由于配置低,基本上只能跑命令行,图形界面是带不起来的。所以,我就选择了我比较喜欢的基于Python语言的系统。
Flask
经过比较,我选择了Flask系统。因为它很符合我的理念:
- 微内核架构。不绑定一堆乱七八糟的东西,一切都是开放的,需要什么,就适配对接什么。
- 系统可以逐步成长。开发简单的应用,使用简单的办法。随着系统越来越复杂,逐步对接、扩展其他的部件,而不是一下子上来一个复杂框架。
React
本来我已经决定使用Flask开发了,但是遇到一个难题,怎么保存数据而不用刷新页面。本来以为很容易解决,上网一搜索,才发现不是那么简单,需要使用ajax技术,要用到js脚本,就这么就找到了一堆前端开发框架,于是我就想不用原生HTML技术了,要使用前端框架来开发。其关键的考虑因素是,我不太喜欢HTML来开发界面,为什么呢?因为我很喜欢写代码,很喜欢自由掌控的感觉,也就是我喜欢图灵完备的编程语言,界面开发也是一样,我希望可以编程实现,而HTML本质上是一个数据信息,不包含控制信息。所以很难做到组件级复用以及灵活控制。
Flask+React
- 我对这个Flask+React这个方案也不是很满意,因为React是js实现的,Flask是python的,二者语言能统一就好了,最好都用我喜欢的Python。
- 另外一个问题是React本身就是一个独立的网站,而Flask也是一个独立的网站,虽然前后端实现了强制解耦,但还是不太爽,一个是两个网站有些浪费,另外,跨进程通讯会不会影响效率?
Flask+JQuery
- 经过一番纠结,决定选择Flask+JQuery方案。只选择Flask是不行的,因为很多复杂前端界面不好做,而JQuery有很多成熟的前端控件可用。有一个开源的库似乎不错:http://www.ligerui.com/
- 另外,为了实现用Python写前端的梦想,我尽可能使用PyH库,来使用Python来生成HTML,而不是使用默认的模板库。
Leave 使用Flask和React构建博客系统(1) to:
Read more #cn posts
Best Posts From brysj22952
We have not curated any of brysj22952's posts yet. But you can encourage our curation team to review posts by visiting them regularly and by referring other readers. Because we give priority to frequently read content.
More Posts From brysj22952
- 我为什么想自己实现语法解析器
- PyH源码解析(6)——完结篇
- PyH源码解析(5)
- PyH源码解析(4)
- PyH源码解析(3)
- PyH源码解析(2)
- PyH源码解析(1)
- Python语言PyH模块生成HTML文档使用说明
- linux屏蔽ctrl+s键的方法
- LXML官方文档翻译
- 使用Flask和React构建博客系统(1)
- 解决网站开发中网页在手机上显示不全的问题
- 2018.6.25 My microblog 微博
- MyBrain项目(1)
- 2018.3.20 My microblog 微博
- click的命令自动补齐功能介绍
- python命令行神器click介绍
- Linux find命令使用心得(Linux find cmd use experience)
- Piston工具翻译-Steem网络的瑞士军刀(2)
- Piston工具翻译-Steem网络的瑞士军刀(1)