12.2 准备工作
12.2.1 了解文件结构
本项目是在第11章实例的基础上进行开发的,项目文件结构如下:
其中主要文件说明如下。
● Pipfile与Pipfile.lock:Pipenv配置运行环境的文件,用来记录项目所需要的第三方库。
● answer文件夹下的MongoUtil.py和RedisUtil.py:本项目的参考答案。读者在自己完成项目或者遇到问题无法解决时可以参考。
● generate_answer.py与generate_question.py:用于向数据库中添加测试数据。
● main.py、static、templates和util文件夹:本项目网站的后台和前台相关代码。读者不需要关心。
● your_code_here文件夹:读者只需修改这个文件下的MongoUtil.py文件和RedisUtil.py文件即可完成本项目。
12.2.2 搭建项目运行环境
1.安装依赖包
通过终端窗口进入本项目的工程文件夹中,运行以下代码即可自动设置运行环境。
pipenv install
pipenv shell
2.设置环境变量
如果系统为macOS或者Linux,则执行以下命令:
export FLASK_APP=main.py
如果系统为Windows,则执行以下命令:
set FLASK_APP=main.py
12.2.3 运行项目
(1)执行以下命令启动网站:
flask run
(2)网站启动成功以后,打开浏览器,输入网址“http://127.0.0.1:5000”即可看到问题列表页面,如图12-5所示。
图12-5 初始界面
(3)打开your_code_here文件夹下的MongoUtil.py文件,其初始代码如图12-6所示。
图12-6 MongoUtil.py初始代码
(4)RedisUtil.py的初始代码如图12-7所示。
图12-7 RedisUtil.py初始代码
本实例需要读者实现MongoUtil.py和RedisUtil.py文件中未完成的各个方法,从而使问答网站的验重功能和动态排序功能正常使用。其中,MongoUtil.py文件和RedisUtil.py文件中均包含了第11章的部分代码,这一部分代码已经写好,不需要修改。