» Python:使用Flask构建REST API » 2. 开发 » 2.1 初始版本

初始版本

创建项目目录:lr_rest_books_py

创建虚拟环境

使用虚拟环境来隔离项目依赖项是一种最佳实践。你可以使用 Python 3 内置的 venv 模块创建虚拟环境。

python3 -m venv lrFlaskEnv

警告
如果你使用 git 或其他版本管理系统,记得要忽略虚拟目录。 比如, .gitignore

+
+lrFlaskEnv/

激活虚拟环境

此步骤各平台操作不同。

在 Windows 平台:

lrFlaskEnv\Scripts\activate

在 macOS 和 Linux 平台:

source lrFlaskEnv/bin/activate

管理依赖

在项目根目录创建名为 requirements.txt 的文件。该文件用于列出 Flask 项目的依赖项及其具体版本。你可以使用如下命令自动生成文件:

pip3 freeze > requirements.txt

如果你的虚拟环境设置正确的话,你将会得到一个空文件 requirements.txt

安装

安装 Flask 框架:

pip3 install Flask

安装后,更新 requirements.txt

pip3 freeze > requirements.txt

此命令更新 requirements.txt 文件。其内容大致如下所示:

blinker==1.7.0
click==8.1.7
Flask==3.0.2
importlib-metadata==7.0.1
itsdangerous==2.1.2
Jinja2==3.1.3
MarkupSafe==2.1.5
Werkzeug==3.0.1
zipp==3.17.0

创建 main.py

from flask import Flask, jsonify

app = Flask(__name__)

@app.route('/ping')
def ping():
    return jsonify({"message": "pong"})

if __name__ == '__main__':
    app.run(debug=True)

如下运行程序:

python3 main.py

将得到如下信息:

* Serving Flask app 'main'
 * Debug mode: on
WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
 * Running on http://127.0.0.1:5000
Press CTRL+C to quit
 * Restarting with stat
 * Debugger is active!
 * Debugger PIN: nnn-nnn-nnn

你的 API 服务器已经在 5000 端口跑起来了。

注意
你也可以选择使用 flask 命令。

flask --app main run # debug 模式关闭
flask --app hello run --debug # debug 模式开启

如果使用 flask 命令启动,你不再需要 __main__ 部分。

if __name__ == '__main__':
   app.run(debug=True)

尝试使用 curl 命令测试 /ping 端点:

curl http://localhost:5000/ping

结果显示:

{
  "message": "pong"
}

不错!你的服务器运作起来了。