Flask是一个轻量级的web框架。示例:fromflaskimportFlaskapp=Flask(__name__)@app.route('/')defmain():return'
helloworld
'if__name__=="__main__":app.run()启动FlaskServer:$flaskrun--port18888--host0.0.0.0--port用于指定服务的端口。如果要保持服务运行,在前面加上nohup。如果要设置为Debug模式,执行:exportFLASK_DEBUG=1Windows使用set设置环境变量。参数路由Flask支持在路由中添加参数。默认类型为string,也可以显式声明为int。@app.route('/
')deffunc1(id):id=int(id)**2returnstr(id)#只会匹配整数路由类型@app.route('/')deffunc2(id):returnstr(id**2)#此时的url_path是相对路径@app.route('//')deffunc3(url_path):return'path:%s'%url_path请求方式Flask默认为GET方式,使用methods参数指定更多方式。fromflaskimportrequest@app.route('/',methods=['POST','GET'])defmain():ifrequest.method=='POST':#处理POST提交的表单register_dict=request.formusername=register_dict['usrename']password=register_dict.get('password')ifrequest.method=='GET':#获取GET方法的参数key对应的request=request.args.get("key")方法是:importrequestsparams={'username':'un','password':'pwd'}r=requests.get(url,params=params)#GETdata={'username':'un','password':'pwd'}r=requests.post(url,data=data)#POSTresponseFlask视图函数返回的参数将构成用户收到的响应(response)。第一个参数是响应字符串;第二个参数为状态码,Flask默认为200,表示请求处理成功;第三个参数是由HTTP响应头组成的字典。@app.route('/')defindex():#返回一个400状态码,表示请求无效return'BadRequest',有一种特殊类型的400响应称为重定向。fromflaskimportredirect@app.route('/')defindex():returnredirect('http://www.example.com')还有一个由abort函数生成的特殊响应来处理错误。fromflaskimportabort@app.route('/user/')defget_user(id):ifid==0:abort(404)return'hello',200我们可以自定义错误处理方式。@app.errorhandler(404)defpage_not_found(error):#自定义处理异常return'Thispagedoesnotexist',404