开始
优质
小牛编辑
127浏览
2023-12-01
本节课程我们将初始化项目框架、定义第一个服务。 创建一个新的项目、安装Flask
:
$ mkdir flask-microservices-users && cd flask-microservices-users $ mkdir project $ pyenv virtualenv 3.6.4 tdd3 $ pyenv local tdd3 (tdd3)$ pip install Flask==0.12.2
在project 目录下面添加__init__.py
文件,配置第一个路由:
# project/__init__.py from flask import Flask, jsonify # 初始化app app = Flask(__name__) @app.route('/ping', methods=['GET']) def ping_pong(): return jsonify({ 'status': 'success', 'message': 'pong!' })
然后,添加Flask-Script
,该依赖包可以用来在命令行管理Flask
app:
(tdd3)$ pip install Flask-Script==2.0.6
在项目根目录下面添加一个manage.py
的文件:
# manage.py from flask_script import Manager from project import app manager = Manager(app) if __name__ == '__main__': manager.run()
这里我们创建了一个新的Manager
实例,来处理所有的从命令行输入的命令。运行程序:
(tdd3)$ python manage.py runserver
运行成功后,我们可以在浏览器中打开页面http://localhost:5000/ping
,你能看到如下的json 信息输出到页面:
{ "message": "pong!", "status": "success" }
然后我们关掉服务(Ctrl+C),在project
目录下面新增一个config.py
的文件,内容如下:
#project/config.py class BaseConfig: """基础配置""" DEBUG = False TESTING = False class DevelopmentConfig(BaseConfig): """开发环境配置""" DEBUG = True class TestingConfig(BaseConfig): """测试环境配置""" DEBUG = True TESTING = True class ProductionConfig(BaseConfig): """生产环境配置""" DEBUG = False
然后更新__init__.py
文件,在初始化的时候配置开发环境:
from flask import Flask, jsonify # 初始化app app = Flask(__name__) # 环境配置 app.config.from_object('project.config.DevelopmentConfig') @app.route('/ping', methods=['GET']) def ping_pong(): return jsonify({ 'status': 'success', 'message': 'pong!' })
然后重新运行程序,我们能在终端中看到debug
模式的提示信息:
(tdd3)$ python manage.py runserver * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) * Restarting with stat * Debugger is active! * Debugger PIN: 770-657-842
现在当你的代码有任何改动的时候,应用都会自动加载,不需要手动重启了。为了保证我们的项目依赖能实时同步,这里我们将依赖包添加到一个requirements.txt
的文件中,我们只需要利用pip
的freeze命令就可以轻松拿到我们项目的依赖列表了:
(tdd3)$ pip freeze > requirements.txt
然后看看requirements.txt
的内容吧:
Flask==0.12.2 Flask-Script==2.0.6
最后,在项目根目录下面添加一个.gitignore
的文件:
__pycache__ env
初始化git 仓库,然后提交代码吧~