用Python搭建一个校园维基网站(一)

專 欄

treelakePython中文社区专栏作者

项目Github地址:

https://github.com/zr777/school-wiki

简述

  • 我们的目标是做一个校园维基站点,提供校园生活百科的内容服务。
  • 主要需求为
    1. 百科的搜索
    2. 百科的标签分类
    3. 人人皆可参与编辑
    4. 界面简洁大方直观
  • 其实有一个很好的技术选型,那就是开源的wikihow 英文中文,它的UI简洁不失美观,单维基页面的展示很清晰,而且是基于某种markdown语言的人人可修改。不过,它是基于mediaWiki,熟悉PHP的同学可以去尝试。
  • 对于Python而言,虽然没有现成的工具,但借助强大的Python开源社区,我们也可以很快地搭建起一个轻量级的校园百科网站。
  • Wagtail是一个基于Django的优秀CMS(内容管理系统)。有强大的Django社区做后盾,开发资源相当丰富。利用它我们可以轻松地搭建属于自己的内容发布网站。
  • Wagtail的后台管理界面漂亮而且强大,有良好的权限管理系统,页面、图片和文档的管理功能以及富文本编辑功能。在文本内容搜索上可以集成elasticsearch,非常方便。
  • 学习一个开源框架最好的方式就是去读它的官方文档 - wagtail。它的官方文档已经比较完善了,对新手友好,推荐阅读。
  • 由于单人开发而且业务逻辑比较简单明确,没有考虑前后端分离,而是利用django模板功能,在SEO方面有一定的优势。
  • 为了方便,前端样式选择了轻量的purecss框架,有现成的一些页面样式可以使用,而且比较符合个人审美。
  • 此外,由于之前的内容发布使用WordPress博客系统,需要导入原来的原生HTML内容,维基页面要兼容原生html,所以目前游客的权限较低,修改后需要提交审核。markdown编辑功能暂时没有加上,不过有开源的插件,使用很方便。

效果图

移动端首页

PC端首页

标签页

搜索结果页面

PC端单维基页面

移动端单维基页面

帮助修改页面

帮助修改的富文本编辑与其他功能

Wagtail初体验

1、pip install wagtail安装库。

2、命令行输入wagtail start mysite开始我们的项目。

3、cd mysite进入项目目录。

4、python manage.py migrate数据库迁移 。

5、python manage.py createsuperuser创建管理员。

6、python manage.py runserver开始运行,就可以在http://127.0.0.1:8000看到你的第一个wagtail网页了。

原文发布于微信公众号 - Python中文社区(python-china)

原文发表时间:2017-04-24

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏企鹅号快讯

Linux Lite开发人员为Linux操作系统创建自动化的Spectre/Meltdown检查器

基于Ubuntu的Linux Lite发行版的开发者已经创建了一个脚本,使Linux用户更容易检查他们的系统是否容易受到Meltdown和Spectre安全漏洞...

2269
来自专栏Youngxj

最新免费一年有效期泛域名ssl证书申请教程

1.7K4
来自专栏IMWeb前端团队

在scss中注释模块结构

一般来说,有重构的团队,工作流程是这样的:设计师出稿 > 重构转静态页面 > jser拉取数据实现交互等 ...这样我们总是有静态页面在备份的,下次遇到修改什么...

21510
来自专栏BeJavaGod

通过ngrok实现内网穿透,调试微信小程序

话说以前在做微信支付,支付宝支付的时候都是使用的花生壳,那个时候是免费的,多购买一个二级还不知道是三级域名多花了25块钱。 最近我们在搞小程序开发,没想到真的是...

7625
来自专栏CIT极客

【奇淫巧技】各种冷门的实用技巧成就技术帝!

4358
来自专栏前端vue

vue开发网易云音乐web版(附带安卓app版本)

建议选择android安装包,不需要多余配置 确认发布之后会提示提交云端,等待提交云端之后等待打包成功,打包成功之后就可以手动下载了,通过连接线或者QQ发送到...

1.3K5
来自专栏编程

当你在 Linux 上启动一个进程时会发生什么?

英文:Julia Evans,编译:Linux中国 / jessie-pang linux.cn/article-9256-1.html 本文是关于 fork ...

1927
来自专栏FreeBuf

利用雅虎小型企业服务平台的目录遍历漏洞查看客户的信用卡信息

在这篇文章中,我将跟大家介绍如何利用雅虎小型企业服务平台的目录遍历漏洞查看客户的信用卡信息。在过去的一年半时间里,我一直都在对雅虎平台的安全性进行分析,而本文所...

2527
来自专栏恰童鞋骚年

操作系统核心原理-3.进程原理(上):进程概要

进程管理、内存管理和文件管理是操作系统的三大核心功能,那么什么是进程呢?顾名思义,进程就是进展中的程序,或者说进程是执行中的程序。当一个程序被加载到内存之后就变...

2092
来自专栏木子昭的博客

Windows终端好难用? 试试git bash吧!

8374

扫码关注云+社区

领取腾讯云代金券