zoukankan      html  css  js  c++  java
  • Flask 请求扩展

    Flask 请求扩展

    from flask import Flask,request
    app = Flask(__name__)

    before_request

    # 用before_request装饰的函数是执行响应函数之前执行,
    # 如果有多个before_request他会自上而下按照顺序执行
    # 如果before_request有返回值,那后面的before_request都不会执行,且响应函数也不会执行
    # 其有没有返回值都不会影响after_request的执行
    @app.before_request
    def before1(*args,**kwargs):
        print("参数",args,kwargs)
        print('我是before1')

    after_request

    # after_request 是响应函数执行之后触发执行的,
    # after_request 必须接收一个参数,参数为response对象,而且必须返回
    @app.after_request
    def after1(response):
        print("响应后的参数",response)
        print("我是after1")
        return response

    before_first_request

    # 当flask项目启动后的页面请求的第一次才会执行,第二次不会执行。与浏览器无关,执行顺序是从上往下
    @app.before_first_request
    def first():
        print("我是Flask项目启动后的第一次")

    teardown_request

    # teardown_request一旦遇到错误就会执行,并且把错误传递给teardown_request装饰的函数, 没有错误也会执行,但是是错误为None,他并不能处理错误,只能记录
    @app.teardown_request
    def tear(e): print(e) print("我是teardown_request")

    errorhandle("响应码")

    # errorhandle可以捕获错误,并且对错误做出响应,返回给用户。
    # 如果你要用 ,你必须指定他是捕获哪种类型的错误,就必须传错误码,然后将返回值返回给用户
    @app.errorhandler(500)
    def error_500(e):
        print(e)
        return "我程序崩了"

    template_global()页面渲染

    @app.template_global()
    def get_sb(a1,a2):
        return a1 + a2
    # 所有页面渲染的时候如果页面上有sb变量他将自动调用该函数

    html页面中的用法

    {{sb(1,2)}}
    #页面显示结果为3

    template_filter()过滤器

    #可以接收多个参数
    @app.template_filter()
    def db(a1, a2, a3,a4): return a1 + a2 + a3 + a4

    html页面

    # 用法:{{要接收过滤的值|函数名(参数)}}
    {{1|get_something(1,1,1)}} # 页面结果显示为4
  • 相关阅读:
    实现跨域的几种方法
    2015-07-15
    unity3d中给GameObject绑定脚本的代码
    unity3d的碰撞检测及trigger
    区块链 (未完)
    mono部分源码解析
    量化策略分析的研究内容
    mono搭建脚本整理
    unity3d简介
    Hook技术之API拦截(API Hook)
  • 原文地址:https://www.cnblogs.com/baohanblog/p/12523151.html
Copyright © 2011-2022 走看看