zoukankan      html  css  js  c++  java
  • Flask---日常笔记1

    Flask---日常笔记

    (自己学习flask的过程中,一些比较重要的知识点,记录了下来,大家可以参考一下.)

    Flask框架主要的特点是轻巧,简介,扩展性强;核心就是 Werkzeug(路由模块) ,模板引擎则使用 Jinja2 。

    Flask内置的6种转换器:

    ‘path’  ‘string’  ‘any’  ‘int’  ‘float’  ‘uuid’

    Josn xml 的区别:首先他们都是用来数据交互的,其次josn 更加轻量些

    Flask中有两种上下文,请求上下文和应用上下文。

    上下文:相当于一个容器,他保存了Flask程序运行过程中的一些信息。

    请求上下文(request context)

    request和session都属于请求上下文对象。

    request:封装了HTTP请求的内容,针对的是http请求。举例:user = request.args.get('user'),获取的是get请求的参数。

    (通俗来说:Request主要用来获取客户端发送过来的一些参数)

    session:用来记录请求会话中的信息,针对的是用户信息。举例:session['name'] = user.id,可以记录用户信息。还可以通过session.get('name')获取用户信息。

    (通俗来说:Session主要用来实现一些用户的会话信息)

    应用上下文(application context)

    current_app和g都属于应用上下文对象。

    current_app:表示当前运行程序文件的程序实例。我们可以通过current_app.name打印出当前应用程序实例的名字。

    (通俗来说:Current_app代表当前程序运行实例,只要程序没有暂停终止,他会一直存在, 可以帮助我们记录项目日志)

    g:处理请求时,用于临时存储的对象,每次请求都会重设这个变量。比如:我们可以获取一些临时请求的用户信息。

    (通俗来说:g对象和requestsession比较像,请求过程中帮助我们创建,请求结束后销毁,是起到一个临时存储的作用)

    • 当调用app = Flask(_name_)的时候,创建了程序应用对象app;
    • request 在每次http请求发生时,WSGI server调用Flask.call();然后在Flask内部创建的request对象;
    • app的生命周期大于request和g,一个app存活期间,可能发生多次http请求,所以就会有多个request和g。
    • 最终传入视图函数,通过return、redirect或render_template生成response对象,返回给客户端。

    区别: 请求上下文:保存了客户端和服务器交互的数据。 应用上下文:在flask程序运行过程中,保存的一些配置信息,比如程序文件名、数据库的连接、用户信息等。

    (应用上下文生命周期比请求上下文的生命周期长)

    请求钩子

    在客户端和服务器交互的过程中,有些准备工作或扫尾工作需要处理,比如:在请求开始时,建立数据库连接;在请求结束时,指定数据的交互格式。为了让每个视图函数避免编写重复功能的代码,Flask提供了通用设施的功能,即请求钩子。

    请求钩子是通过装饰器的形式实现,Flask支持如下四种请求钩子:

    before_first_request:在处理第一个请求前运行。

    before_request:在每次请求前运行。

    after_request:如果没有未处理的异常抛出,在每次请求后运行。

    teardown_request:在每次请求后运行,即使有未处理的异常抛出。

  • 相关阅读:
    IPFS实践之初体验
    自己写的屏幕录像及播放软件
    绿色ip扫描工具
    ASIHTTPRequest 编码问题
    ios开发中,A valid provisioning profile for this executable was not found,的解决方法
    毕业设计之蚁群算法的研究——起始篇
    分享两个模拟get和post方法的工具类,让应用能够与服务器进行数据交互
    安卓中生成二维码和扫描二维码
    分享一个安卓中异步获取网络图片并自适应大小的第三方程序(来自github)
    不只是个程序员
  • 原文地址:https://www.cnblogs.com/crss/p/8610916.html
Copyright © 2011-2022 走看看