第10章 实例43:搭建一个类似“知乎”的问答网站
国内的“知乎”和国外的Quora都是著名的知识问答网站。在这些网站上,用户可以提问或者回答别人的问题,可以对别人的问题回答、“点赞”或“点踩”。
本章将会使用Python与MongoDB实现问答网站的基本功能——提问、回答、点赞、点踩。
10.1 了解实例的最终目标
本实例的结果以网页形式呈现,源代码已提供。读者只需要完成整个系统中关于MongoDB操作的这一部分代码的开发即可。
实例描述
完成MongoUtil.py文件和RedisUtil.py文件中的缺失代码,从而实现一个具有提问和回答问题功能的网站。
本网站主要实现5大功能。
1.查看问题
本项目完成以后,将会得到一个具有基本功能的问答网站页面。其显示效果如图10-1所示。
2.查看回答
单击问题的标题以后,可以跳转到问题与答案页面,如图10-2所示。
图10-1 项目运行后的问题列表页面
图10-2 问题与答案页面
3.提出问题
单击左上角的“提问”按钮,可以提出一个新的问题,如图10-3所示。
4.回答问题
在每个问题的详情和回答页面,可以回答一个问题,如图10-4所示。
图10-3 提一个新的问题
图10-4 回答一个问题
5.对回答点赞
单击问题或者回答左下角的上箭头或者下箭头,可以对一个问题或者回答“点赞”或者“点踩”,如图10-5左下角方框中所示。单击“上箭头”,赞同数加1;单击“下箭头”,赞同数减1。
在本章的版本中,任何人都可以“点赞”无限次或者“点踩”无限次。
图10-5 对回答进行点赞或者点踩
在本章对应的网站版本中,任何人都可以提问,也可以回答任何人的问题,不需要登录。因此,所有提问者的名字都叫作“匿名用户”,所有回答者的名字也叫作“匿名用户”,并且所有人具有相同的头像。