flask钩子函数

@app.context_processor
def context_processor():
    return {"current_user":"zhiliao"}#这里必须有返回值,而且返回值必须是字典

#下面错误的写法
@app.context_processor
def context_processor_error():
    if hasattr(g,‘user‘):
        return {"current_user":g.user}#不能这样写,函数没有返回值,默认返回None
    return {}#这样写是正确的

@app.route(‘/‘)
def hello_world():
    #就是显示当前app的名字
    # print(current_app.name)
    # print(url_for(‘my_list‘))
    # username = request.args.get(‘username‘)
    # g.username = username #把username绑定到全局变量上,任何地方都可以用
    # log_a()
    # log_b()
    # log_c()
    if hasattr(g,‘user‘):
        print(g.user)
    abort(404)#如果使用abort这个函数,手动报一个404的错误
    #然后执行@app.errorhandler(404)这个装饰下面的代码
    return render_template(‘index.html‘)
@app.errorhandler(500)#用来设置500,404错误
def server_error(error):
    return render_template(‘500.html‘)

@app.errorhandler(404)
def page_no_find(error):
    return render_template(‘404.html‘)

原文地址:https://www.cnblogs.com/wuheng-123/p/9749584.html

时间: 2024-11-05 22:59:19

flask钩子函数的相关文章

flask 钩子函数

说明: before_request函数,就是一个装饰器,他可以把需要设置为钩子函数的代码放到视图函数执行之前执行 示例: from flask import Flask,url_for,redirect,render_template,request app = Flask(__name__) @app.route('/') def index(): print ('index') return 'index' @app.before_request def mybefore_request(

11.Flask钩子函数

在Flask中钩子函数是使用特定的装饰器的函数.为什么叫做钩子函数呢,是因为钩子函数可以在正常执行的代码中,插入一段自己想要执行的代码,那么这种函数就叫做钩子函数. before_first_request:Flask项目第一次部署后会执行的钩子函数. before_request:请求已经到达了Flask,但是还没有进入到具体的视图函数之前调用.一般这个就是在函数之前,我们可以把一些后面需要用到的数据先处理好,方便视图函数使用. before_request @app.before_first

flask 钩子函数errorhandler

一.errorhandler  接收状态吗,可以自定义返回这种状态码的响应的处理办法,如果发生一些异常的时候,比如404.500那么如果想要优雅的处理这些错误,就可以使用errorhandler 注意点: *在errorhandler装饰钩子函数下,要返回响应的状态码 *在errorhandler装饰的钩子函数中,必须要写一个参数,来接收错误的信息,如果没有参数,就会直接报错 *使用flask,abort 可以手动的抛出响应的错误,比如开发者在发现参数不正确的时候可以自己手动抛出一个404错误

Flask入门flask-script 蓝本 钩子函数(三)

1 flask-script扩展库 概念: 是一个flask终端运行的解析器 ,因为项目完成以后,代码改动会有风险,所以借助终端完成不同启动项的配置 安装 pip3 install flask-script 使用 from flask_script import Manager #导入 manager = Manager(app) #初始化flask运行的解析器 manager.run() #运行 执行程序需要在启动项输入命令 python3 当前启动文件名.py runserver 可选参数

flask-get/post/线程隔离g对象/钩子函数

get: 通过request.args来获取 from flask import Flask, request @app.route('/search/') def search(): # 获得参数字典 args = request.args print(args) # ImmutableMultiDict([('q', 'hello')]) print(args.get('q')) # hello return 'search' post: 1 from flask import Flask,

vue2.0项目实战(3)生命周期和钩子函数详解

最近的项目都使用vue2.0来开发,不得不说,vue真的非常好用,大大减少了项目的开发周期.在踩坑的过程中,因为对vue的生命周期不是特别了解,所以有时候会在几个钩子函数里做一些事情,什么时候做,在哪个函数里做,我们不清楚. 下面来总结一下vue的生命周期. vue生命周期简介 咱们从上图可以很明显的看出现在vue2.0都包括了哪些生命周期的函数了. 生命周期探究 对于执行顺序和什么时候执行,看上面两个图基本有个了解了.下面我们将结合代码去看看钩子函数的执行. <!DOCTYPE html>

php 钩子函数原理 解析

目前对钩子的理解:<转载:http://www.cnblogs.com/del/archive/2008/02/25/1080825.html> 譬如我们用鼠标在某个窗口上双击了一次, 或者给某个窗口输入了一个字母 A; 首先发现这些事件的不是窗口, 而是系统! 然后系统告诉窗口: 喂! 你让人点了, 并且是连续点了两鼠标, 你准备怎么办? 或者是系统告诉窗口: 喂! 有人向你家里扔砖头了, 不信你看看, 那块砖头是 A. 这时窗口的对有些事件会忽略.对有些事件会做出反应: 譬如, 可能对鼠标

用Delphi实现Windows的鼠标钩子函数

Delphi是基于PASCAL语言的Windows编程工具,功能十分强大.然而在Delphi的帮助文件中,对Windows API函数的说明沿袭了 VC 的格式,和VC一样,对很多API函数的用法没有举例子详细说明,对一些深入系统内部的API函数更是语焉不详,给编程者带来不便.笔者仅就在Windows编程中鼠标钩子函数(HOOK)的实现,举例作一说明.   鼠标钩子函数也可叫做鼠标消息过滤器,是一种回调(CALLBACK)函数,归系统调用.如果用SetWindowsHook或SetWindows

主题:钩子函数简析及实例

钩子函数.回调函数.注冊函数.挂钩子这些我们代码中常常涉及到的东西,是否已经困扰你非常久了?它们到底是怎么回事,到底怎么用?以下我来为你一一解答. 什么是钩子函数? 钩子函数也叫回调函数,是通过函数指针来实现的.那我们来看看什么是函数指针. 首先看看下面样例: int *p; int a,b. 我们能够让指针p先后指向a, b,这样,p就先后代表了不同变量的地址 p = &a; p = &b; 相同地.函数的指针能够指向不同的函数,从而完毕不同的功能. 比如,定义函数指针: int (*