flask第一章 flask启动 路由视图 FlaskRequest jinja2 FlaskSession

一.简单了解flask web框架

  优点: 小而精,组件只有session,第三方机构强烈支持flask,极其简单

  缺点: 由于第三方软件的关系,稳定性相对较差,flask-session

 

扩展知识: 

  QPS = 请求每秒的次数  

  时间片 : CPU工作一次的时间单位

  

二.Flask的启动 

  三行代码启动:

from flask import Flask 
  app=Flask(__name__)   #实例化Flask对象
      app.run()   #启动Flask

 

  六行代码启动Flask hello :

from flask import Flask

app=Flask(__name__) 

@app.route('/hello')
def hello():
    return 'hello'

app.run(debug=True)  #debug的意思是每次启动自动刷新代码,不需要再手动启动代码

 

  Flask响应 

Response  三贱客
    httpresponse   相当于  'hello'
    render             相当于  render_template('login.html')
    redirect            相当于  redirect('/login')

flask封装
  send_file()     return send_file('文件的路径')
    打开并返回文件内容 确定会在响应头中加入content-type:文件格式 + content-length :文件大小
  
  jsonify({k:v})   return jsonify({k:v})
    返回一个客户端可以识别的json格式字符串,会在响应头中加入content-type:application/json

  Flask request

    1.request.args 获取URL中的数据
    2.request.form 获取FormData中的数据
    3.request.values 获取args+form 知道就可以了
    4.request.data 流 # 获取请求体中的原始数据
    5.request.json 字典 # 请求头中带有Content-Type:application/json ,
将请求体中的数据反序列化到json中 但是在data中依然存储这原始数据bytes    
    6.request.files 获取FormData中的文件数据 request.files.get("my_file")
      request.files.save(默认提交的文件名)
      
    记住:request.method    

 

5.jinja2 -template

  语法和django大概一致,只是django中在模板中不能使用中括号和小括号,但是在flask中可以使用

  {{ }}  引用,执行函数

  {% %} 逻辑代码

6.session  (flask中的session,与django中的session不同)

from flask import session

app.secret='序列化session需要的字符串'

在视图函数中 
    session['key'] = 'values'

 

扩展 restAPI

  请求响应为json

  请求支持的协议为http 8种请求方式

这里我们列举5种

  GET , POST ,PUT ,DELETE ,OPTIONS

  查      , 增      ,改    , 删           , 跨域请求

 

posted @ 2019-04-14 22:45  想扣篮的小矮子  阅读(139)  评论(0编辑  收藏  举报