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)