10.2准备工作
10.2.1 了解文件结构
读者拿到的初始目录结构如下:
其中主要文件说明如下。
● Pipfile与Pipfile.lock:Pipenv配置运行环境的文件,用来记录项目所需要的第三方库。
● answer 文件夹下的 MongoUtil.py:本项目的参考答案。读者在自己完成项目或者遇到问题无法解决时可以参考该文件。
● generate_answer.py与generate_question.py:用于向数据库中添加测试数据。
● main.py、static、templates和util文件夹:是本项目网站的后台和前台相关代码,读者不需要关心。
● your_code_here文件夹:读者只需要修改这个文件下面的MongoUtil.py文件即可完成本项目。
10.2.2 搭建实例运行环境
1.安装依赖包
通过终端窗口进入本实例的工程文件夹中,运行以下代码即可自动设置好运行环境,如图10-6所示。
pipenv install
pipenv shell
图10-6 配置运行环境
2.设置环境变量
如果系统为macOS或者Linux,则执行以下命令:
export FLASK_APP=main.py
如果系统为Windows,则执行以下命令:
set FLASK_APP=main.py
10.2.3 运行项目
执行以下命令启动网站:
flask run
网站启动成功以后,打开浏览器,输入网址“http://127.0.0.1:5000”即可看到问题列表页面,如图10-7所示。
图10-7 测试页面
提示:
此时,测试页面中的点赞、点踩、提问功能都无效,单击以后毫无变化。单击页面上的任何一个问题,都进入相同的答案页面。
答案页面如图10-8所示。在答案页面中,单击“回答问题”按钮后回答的任何内容都不会出现在页面上。答案页面中的“点赞”和“点踩”功能也都无效。
图10-8 测试答案页面
打开your_code_here文件夹下面的MongoUtil.py文件,可以看到初始代码如图10-9所示。
图10-9 初始代码
本实例需要读者实现MongoUtil文件中MongoUtil类里面的各个方法,从而使问答网站可以按照预期进行工作。所有需要读者修改的地方,都在代码的注释中进行了提示。