pip install Flask 安装参考
接口示例
$ mkdir flask $ cd flask/ $ cat app.py from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): return 'Hello World!' if __name__ == '__main__': app.run(host="0.0.0.0", port=8000) 启动 (base) xt@ai1:/opt/tpf/aiwks/code/flask$ python app.py * Serving Flask app "app" (lazy loading) * Environment: production WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. * Debug mode: off * Running on all addresses. WARNING: This is a development server. Do not use it in a production deployment. * Running on http://192.168.48.220:8000/ (Press CTRL+C to quit) 访问 在浏览器中输入 http://192.168.48.220:8000/ 警告处理 WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. 安装 wsgi pip install gevent $ cat app.py from flask import Flask from gevent import pywsgi app = Flask(__name__) @app.route('/', methods=['get']) def hello(): return 'Hello flask!' if __name__ == '__main__': server = pywsgi.WSGIServer(('0.0.0.0', 8000), app) server.serve_forever() 启动 $ python app.py 访问 在浏览器中输入 http://192.168.48.220:8000/ 每访问一次,后台就输出一次 $ python app.py 192.168.48.220 - - [2023-03-15 11:08:05] "GET / HTTP/1.1" 200 128 0.000962
字符串参数
@app.route('/tree/<data>') def tree_model(data): return 'tree: %s' % data 访问 http://192.168.48.220:8000/tree/aaabbb 返回 tree: aaabbb
整数参数
@app.route('/tree/<int:num>') def main_features(num): return 'top %d' % num 访问 http://192.168.48.220:8000/tree/100 返回 top 100
POST请求
@app.route('/model/update', methods=["POST"]) def model_update(): account = request.form.get("account") password = request.form.get("password")
from flask import Flask, request, jsonify app = Flask(__name__) @app.route('/submit', methods=['POST']) def submit_data(): # 从POST请求中提取数据 # 假设表单中有一个名为'name'的字段和一个名为'age'的字段 name = request.form.get('name') age = request.form.get('age', type=int) # 尝试将age转换为int类型 # 简单的处理逻辑:返回接收到的数据 # 实际应用中,你可能会进行更复杂的数据处理或数据库操作 response_data = { 'status': 'success', 'received_data': { 'name': name, 'age': age } } # 使用jsonify返回JSON格式的数据 return jsonify(response_data) if __name__ == '__main__': app.run(debug=True)
pip install -U flask-cors
from flask import Flask from flask_cors import CORS app = Flask(__name__) # 允许所有域的跨域请求 CORS(app, resources={r"/api/*": {"origins": "*"}}) # 或者,更具体地指定允许的源 # CORS(app, origins=['http://localhost:8080']) @app.route('/api/hello', methods=['GET']) def hello(): return {'message': 'Hello, World!'} if __name__ == '__main__': app.run(debug=True)