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)

Flask 框架 重定向,捕获异常,钩子方法及使用jsonify在网页返回json数据的更多相关文章

  1. Flask Response响应(flask中设置响应信息的方法,返回json数据的方法)

    设置响应信息的方法 1.  返回自定义的响应头,有两种方式: (1)  第一种是:视图函数return的时候,使用元组,返回自定义的信息 返回的时候的状态码可以自定义信息:"状态码   自定 ...

  2. struts2 的验证框架validation如何返回json数据 以方便ajax交互

    struts2 的验证框架validation简单,好用,但是input只能输出到jsp页面通过struts2的标签<s:fielderror  />才能取出,(EL应该也可以). 如果使 ...

  3. 通过flask中的Response返回json数据

    使用flask的过程中,发现有时需要生成一个Response并返回.网上查了查,看了看源码,找到了两种办法: from flask import Response, json Response(jso ...

  4. 1. 处理静态资源 2. controller如何接受请求得参数 3. 如何把controller得数据保存到view. 4. 在controller如何完成重定向到指定路径 5. controller返回json数据

    1. 1. 处理静态资源2. controller如何接受请求得参数3. 如何把controller得数据保存到view.4. 在controller如何完成重定向到指定路径5. controller ...

  5. spingmvc 返回json数据日期格式化方法

    第一种: json 用的是这个依赖 <!-- JSON lib 开发包 以及它的依赖包 --> <dependency> <groupId>com.fasterxm ...

  6. Spring MVC 3.0 返回JSON数据的方法

    Spring MVC 3.0 返回JSON数据的方法1. 直接 PrintWriter 输出2. 使用 JSP 视图3. 使用Spring内置的支持// Spring MVC 配置<bean c ...

  7. 在使用Ajax请求返回json数据的时候IE浏览器弹出下载保存对话框的解决方法

    在使用Ajax请求返回json数据的时候IE浏览器弹出下载保存对话框的解决方法 最近在做一个小东西,使用kindeditor上传图片的时候,自己写了一个上传的方法,按照协议规则通过ajax返回json ...

  8. Ajax前台返回JSON数据后再Controller中直接转换成类型使用,后台接收json转成实体的方法

    之前写过一篇记录文章,写的是将一个比较复杂的数据结构在前台组合起来后传递到后台. 当时并不太了解@RequestBody,也并没有使用js提供的JSON.stringify()方法 所有都是自己写的, ...

  9. struts框架返回json数据

    设置返回result类型为json格式 <package name="cn.konngo.action" namespace="/" extends=&q ...

随机推荐

  1. Vue2+VueRouter2+webpack 构建项目实战(二):目录以及文件结构

    通过上一篇博文<Vue2+VueRouter2+webpack 构建项目实战(一):准备工作>,我们已经新建好了一个基于vue+webpack的项目.本篇文章详细介绍下项目的结构. 项目目 ...

  2. vuejs2.0实现一个简单的分页

    用js实现的分页结果如图所示: css .page-bar{ margin:40px; } ul,li{ margin: 0px; padding: 0px; } li{ list-style: no ...

  3. tsung HTTP协议统计报告分析

    tsung HTTP协议统计报告分析 by:授客 QQ:1033553122 1.   Main Static l  higest 10sec mean: 基于每10s的统计,最大耗时 l  lowe ...

  4. ionic 确认提示操作框

    //确认框 .factory('ActionSheet', function ($ionicActionSheet, TipsPort, Service,Loading) { var ActionSh ...

  5. Keras实现卷积神经网络

    # -*- coding: utf-8 -*- """ Created on Sun Jan 20 11:25:29 2019 @author: zhen "& ...

  6. ORACLE等待事件:SQL*Net message from client & SQL*Net message to client

    在ORACLE当中有两个很常见的等待事件"SQL*Net message from client"与"SQL*Net message to client",两者 ...

  7. HDFS客户端的权限错误:Permission denied

    报错:Permission denied: user=root, access=WRITE, inode="hadoop":hadoop:supergroup:rwxr-xr-x ...

  8. java 根据实体对象生成 增删改的SQL语句 ModelToSQL

    package com.xxx.utils; import java.lang.reflect.Field; import java.lang.reflect.Modifier; import jav ...

  9. IDLE提供的常用快捷键

    IDLE提供的常用快捷键 快捷键 说明 适用于 F1 打开Python帮助文档 Python文件窗口和shell窗口均可用 Alt+P 浏览历史命令(上一条) 仅Python Shell窗口可用 Al ...

  10. c++文件的读写

    c++文件的读写 1.文本方式的写文件 #include <iostream> #include <fstream> using namespace std; int main ...