注意
1.这里使用linux 192.168.72.126上远程解释器,需要/usr/bin/pip3 install flask
,host参数不要使用localhost/127.0.0.1,即只监听本地的访问,会导致windows无法访问到flask app
2.运行方式增加main方法入口,使用python运行;或使用flask命令运行export FLASK_APP=/tmp/pycharm_project_22/testflask.py
然后flask run --host 0.0.0.0 --port 2023
from flask import Flask
app=Flask(__name__)
@app.route('/test1')
def test1():
return 'hello flask!'
"""
返回模板,并在模板中使用类似VUE的模板语法取数据
"""
@app.route('/test2',methods=['GET'])
def test2():
from flask import render_template
return render_template("index.html",data="传入html模板的数据")
"""
返回json str,Content-Type默认为application/html,需要指定为json
"""
@app.route('/test3',methods=['GET'],)
def test3():
import json
json_str = json.dumps({"a": 1, "b": "2"})
return json_str, 200, {"Content-Type":"application/json"}
if __name__=="__main__":
app.run(port=2023,host="0.0.0.0",debug=True)
注意:
pip3 install fastapi "uvicorn[standard]"
,需要安装uviron来运行fastapi- 也支持类似flask的uvicorn命令启动
cd /tmp/pycharm_project_22 && uvicorn testflask:app --reload --host 0.0.0.0 --port 2023
,–reload热加载 ,python3启动fastapi默认Content-Type为application/json,uvicorn启动后访问报错"TypeError: call() missing 1 required positional argument: ‘start_response’",接口返回 “500 Internal Server Error”?- 自带swagger API文档
http://192.168.72.126:2023/docs
- 如报错无法import pydantic 相关错误,可以https://pypi.org/下载pydantic的离线whl包进行安装
from fastapi import FastAPI
app = FastAPI()
@app.get("/test1")
def test1():
return "hello fastapi"
@app.get("/test2")
def test2():
return {"a": 1, "b": 2}
if __name__=="__main__":
import uvicorn
uvicorn.run(app=app,host="0.0.0.0",port=2023)