项目github地址,不包含数据内容
简述
我们的目标是做一个校园维基站点,提供校园生活百科的内容服务。
主要需求为
百科的搜索
百科的标签分类
人人皆可参与编辑
界面简洁大方直观
其实有一个很好的技术选型,那就是开源的wikihow 英文、中文,它的UI简洁不失美观,单维基页面的展示很清晰,而且是基于某种markdown语言的人人可修改。不过,它是基于mediaWiki,熟悉PHP的同学可以去尝试。
对于Python而言,虽然没有现成的工具,但借助强大的Python开源社区,我们也可以很快地搭建起一个轻量级的校园百科网站。
Wagtail
是一个基于Django
的优秀CMS(内容管理系统)。有强大的Django社区做后盾,开发资源相当丰富。利用它我们可以轻松地搭建属于自己的内容发布网站。Wagtail的后台管理界面漂亮而且强大,有良好的权限管理系统,页面、图片和文档的管理功能以及富文本编辑功能。在文本内容搜索上可以集成elasticsearch,非常方便。
学习一个开源框架最好的方式就是去读它的官方文档 - wagtail。它的官方文档已经比较完善了,对新手友好,推荐阅读。
由于单人开发而且业务逻辑比较简单明确,没有考虑前后端分离,而是利用django模板功能,在SEO方面有一定的优势。
为了方便,前端样式选择了轻量的purecss框架,有现成的一些页面样式可以使用,而且比较符合个人审美。
此外,由于之前的内容发布使用WordPress博客系统,需要导入原来的原生HTML内容,维基页面要兼容原生html,所以目前游客的权限较低,修改后需要提交审核。markdown编辑功能暂时没有加上,不过有开源的插件,使用很方便。
效果图
移动端首页
PC端首页
标签页
搜索结果页面
PC端单维基页面
移动端单维基页面
帮助修改页面
帮助修改的富文本编辑与其他功能
Wagtail初体验
pip install wagtail
安装库。命令行输入
wagtail start mysite
开始我们的项目。cd mysite
进入项目目录。python manage.py migrate
数据库迁移 。python manage.py createsuperuser
创建管理员。python manage.py runserver
开始运行,就可以在http://127.0.0.1:8000看到你的第一个wagtail网页了。
作者:treelake
链接:https://www.jianshu.com/p/9d5eaa1a0696