flask框架基本使用

1.环境的使用  

      mkvirtualenv 1.0_flask -p python3

      workon 1.0_flask

      pip install flask

1-1  第一个helloworld程序

      From  flask import Flask

      App = FLask(__name__, static_url_path = “/static”, static_folder= “/文件夹路径”)

      @app.route(‘/路径’)

      Def abc():

      Return ‘hello world’

      If __name__ == “__main__”:

      App.run(host= “127.0.0.1”, port=5000, debug=True)

2.1启动方式

       Export FLASK_APP=主应用文件夹名称     ——>是将当前变量存放到了临时环境变量中

       终端运行: flask  run     ___>  1.0版本以上才有的

2.2  pycharm环境变量配置:   FLASK_APP  :   主应用文件夹名称

       -m flask run

2.3  python -m flask run

3.加载配置方式:

      3-1配置类  Development()

           App.config.from_object(Development);

      3-2配置文件   settings.py

          App.config.from_pyfile(“配置文件名称”)

      3-3通过环境变量进行配置

          Export  环境变量名= 配置文件路径

          pycharm里面进行配置环境变量,   环境变量名: 配置文件路径

          App.config.from_envvar(‘环境变量名’)

拓展:Echo $环境变量名

4.路由与蓝图

          App.url_map()        ------>   url(路径)-----abc()

蓝图:

          From flask import Blueprint

          lulu = Blueprint(‘uu’, __name__, static_url_path=‘/静态文件路由’, static_folder='static_admin', template_folder= “模板文件”)

          app.register_blueprint(Lulu)

          uu:   他是我们蓝图的名称, 当你打印app.url_map()  ,你可以发现uu这个名字

5.响应

         5-1 渲染模板 render_template()

         5-2 response = make_response()           return response

         5-3 redirect(‘路径”)

         5-4    return  jsonify(字典)

6.请求

         6-1  request.data   请求体

         6-2  request.args   查询参数

         6-3  request.files   文件

         6-4  request.from   表单数据

         6-5  request.cookies  cookie数据

         Request.method   request.headers    

扩展:

dango框架中的请求:   request.GET   request.Post   request.body  request.from

drf中的请求:     request.query_param    request.data

 

7:转换器

           Django  可以通过正则表达式来匹配参数

           Flask  路由里面没有正则,但是有转换器

           @app.route(“/user/<user_id>”)

           user_id  是一个参数, 默认是字符串, 如果不写,那就是默认的字符串转换器,返回一个字符串类型

           @app.route(“/user/<int:user_id>”)

自定义转换器

           from werkzeug.routing import BaseConverter

           Class aaConverter(BaseConverter):

                   Regex = ‘’     #regex表示正则

           app.url_map.converters[aa] = aaConverter

           @app.route(“/user/<aa:user_id>”)

8;cookie与session

cookie:

          Response = make_response()

          Response.set_cookie(‘user’, “lulu”)

          Request.cookies.get(“user”)

session:        

         Secret_key= ‘sdfjsdjf;skdjf;skdjf;sdf’

         From flask import session

         Session[“user”] = “lulu”

9.异常处理:可以在全局里面用,也可以在蓝图里面用。

         Abort(404)

        @app.errorhandler(404)

        Def abc(e):

              return ‘捕获404’

        @lantu.errorhandler(404)

 

       Errorhandler()     捕获异常

       App_errorhandler()    捕获全局异常

10:请求钩子  ---  可以做如厕时的开门操作

假如你如厕时一次请求 request

Before_request    开门,每次做请求的时候

After_request    关门 , 请求完毕之后做的操作

 

Before_first_request   第一次做请求的时候,要做的操作,判断哪个坑位没有人

Teardown_request   销毁一个请求的时候,要做的操作  

扩展:

Django:   corstokenmidwear   这个中间件就是在请求来的时候,拦截,检测你这里有没有csrf_token, 如果有的话,放行,如果没有,报错

10: 上下文

今天我在街上遇见了杨幂,,,,,,,,,,,,,,,,,,,,,,,,

由上文已知,我遇见了杨幂,hjgghkjh ,,,,,,,,,,,,,,,,

请求上下文:  request  session

比如有请求过来,我去做一些操作   request是上文穿过来的数据

应用上下文:  current_app  g   --->   基于一次request请求而存在的,不是一直存在的

App = Flask(__name__)

Current_app  作用等同于    app

 

G:相当于一次请求中的临时仓库,可以存放东西,在一次请求中的可以存放,可以取用。

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值