zoukankan      html  css  js  c++  java
  • Flask 框架 重定向,捕获异常,钩子方法及使用jsonify在网页返回json数据

    Flask 框架中常用到重定向方法来实现路由的跳转 ,路由跳转又分为站内跳转和站外跳转

     常用的站内跳转方法为url_for  而常用的站外跳转为redirect

     在这里提示一下: 在使用两种方法是须调用相对应的包:

    redirect对应的为redirect包  而url_for对应url_for
    例:

    具体代码为:

    捕获异常:即在服务器没有相应的时候用来进行友好提示,提高用户体验

    具体代码为:

     

    钩子方法:分为第一次请求之前,每一次请求之前和请求之后在后台返回的数据

    jsonify:在页面返回json数据

    # -*- encoding: utf-8 -*-
    
    # 导包,导入重定向模块,url_for是简易寻找地址跳转,redirect是站外跳转 jsonify转化为json格式得数据
    from flask import Flask, redirect, url_for,jsonify
    
    # 建立flask对象
    app = Flask(__name__)
    
    # 开启debug模式
    # 从配置文件里来加载配置
    app.config.from_pyfile('config.ini')
    
    # 使用flask路由 器  制定网址和控制器定义得参数同步
    @app.route('++')
    def index(): 
        return "你好世界 你好PYTHON"
    
    
    # 使用url_for方法来实现简易得站内跳转 redirect是站外跳转
    # 参数指定路由方法名称
    @app.route('/2')
    def reurl_in():
        return redirect(url_for('index'))
    
    # 使用程序入口讲flask应用启动,port参数用来调整端口号,flask,默认端口号是5000
    if __name__ == "__main__":
        app.run()
    
    # 使用jsonify模块来让网页直接显示json数据
    @app.route('/json', methods=['POST'])
    def re_json():
        # 定义好数据格式
        json_dict = {'id': 10, 'title': "flask应用", 'content': 'flask得格式化'}
        # 使用jsonify来将定义好得数据转化为json格式返回给前端
        return jsonify(json_dict)
    
    
    # Flask统一对状态码捕获异常。用来进行友好提示,提高用户体验
    @app.errorhandler(405)
    def internal_server_error(e):
        return '这个接口不能被GET请求,只能发送post请求'
    
    
    @app.errorhandler(404)
    def internal1_server_error(e):
        return '网页不存在'
    
    # 在第一次请求之前调用 首次
    @app.before_first_request
    def before_first_request():
        print("这是第一次请求之前调用的方法")
    
    
    # 在每一次请求之前调用
    @app.before_request
    def before_request():
        print("每一次请求之前,调用这个方法")
    
    
    # 在请求之后待用的方法,必须传响应参数,然后将响应内容返回
    @app.after_request
    def after_request(response):
        print("在请求之后调用这个方法")
        return response
    
    
    # 在请求之后,调用服务器出现了错误信息,打印服务器出现了错误信息
    @app.teardown_request 
    def teardown_request(e):
        print("服务器出现的错误是:%s" % str(e))
    
    
    # 使用程序入口讲flask应用启动,port参数用来调整端口号,flask,默认端口号是5000
    if __name__ == "__main__":
        app.run(debug=True)
    View Code及
  • 相关阅读:
    异常机制和File类
    《JAVA程序设计》_第五周学习总结
    20165214 第五周学习任务
    20165214 第四周学习任务
    20165214 第三周学习任务
    20165214 预备作业3 Linux安装及学习
    20165313 预备作业3 Linux安装及学习
    学习基础和C语言基础调查
    20165313 我期望的师生关系
    int *ptr=(int *)(&a+1)
  • 原文地址:https://www.cnblogs.com/wjohh/p/10283415.html
Copyright © 2011-2022 走看看