前言前段时间用Flask写微服务,后来用了SpringBoot,所以用得不多。现在想通过看官方文档和做笔记来复习和提高。Web框架的基本处理流程:-客户端发起一个HTTPRequest-Web应用根据URLRoute找到对应的处理函数-解析Request传入的数据并进行相关处理操作-返回给客户端ResponseFlask监听1.从flaskimportFlask,app=Flask(__name__)2创建一个Flaskweb应用程序。Route路由设置&请求方法@app.route('/',method=['POST','GET'])defhandle():pass3.HTTPRequest请求参数解析@app.route('/',method=['POST','GET'])defhandler():args=request.args#parameterfollowingurlform=request.form#form表单参数数据=request.get_json()#请求体参数file=request.files#文件数据4.HTTPResponse的基本形式可以以(response,status_code)的形式返回@app.route('/')defhandler():#1.returnRenderedtemplateresponse=render_template('index',name=name))#2.Returnstringresponse='hello...'#3.返回对象的jsonifyresponse=jsonify([1,2,3])5.HTTPRequest请求重定向@app.route('/')defhandler():#url_for('A')返回函数名A的路由地址returnredirect(url_for('login'))@app.route('/')defhandler():abort(404)6.HTTP状态异常处理@app.errorhandler(404)defpage_not_found(error):returnrender_template('page_not_found.html'),4047.HTTPCookies@app.route('/')defhandler():#获取Cookiesusername=request.cookies.get('username')#设置Cookiesresp=make_response(render_template(...))resp.set_cookie('username','theusername')returnresp8.HTTPSession@app.route('/')defhandler():session.get('username',None)session.pop('username',None)returnredirect(url_for('index'))9.FlaskFlashed@app.route('/login',methods=['GET','POST'])deflogin():error=Noneifrequest.method=='POST':ifrequest.form['username']!='admin'or\request.form['password']!='secret':error='Invalidcredentials'else:#在页面跳转的"折叠页面"flash('你登录成功')返回重定向(url_for('索引'))返回渲染_模板('login.html',错误=错误)10。FlaskLogapp.logger.dubug()app.logger.warning()app.logger.error()参考https://dormousehole.readthed...
