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:在每次请求后运行,即使有未处理的异常抛出。

  • 相关阅读:
    particcles.js in 安卓WebView
    PDF.js 主页样式以及获取流
    Oracle授权A中的表给B
    安卓Response 获取body的正确方式
    android.util.Base64 和 org.apache.commons.codec.binary.Base64
    DAY62-前端入门-javascript(九)jQurey高级
    DAY61-前端入门-javascript(八)jQurey
    DAY60-前端入门-javascript(七)JS动画 | JS盒模型 | DOM | BOM
    DAY59-前端入门-javascript(六)JS事件
    DAY58-前端入门-javascript(五)JS常用类
  • 原文地址:https://www.cnblogs.com/crss/p/8610916.html
Copyright © 2011-2022 走看看