Flask 框架 重定向,捕获异常,钩子方法及使用jsonify在网页返回json数据
Flask 框架中常用到重定向方法来实现路由的跳转 ,路由跳转又分为站内跳转和站外跳转
常用的站内跳转方法为url_for 而常用的站外跳转为redirect
在这里提示一下: 在使用两种方法是须调用相对应的包:
具体代码为:

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

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

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数据的更多相关文章
- Flask Response响应(flask中设置响应信息的方法,返回json数据的方法)
设置响应信息的方法 1. 返回自定义的响应头,有两种方式: (1) 第一种是:视图函数return的时候,使用元组,返回自定义的信息 返回的时候的状态码可以自定义信息:"状态码 自定 ...
- struts2 的验证框架validation如何返回json数据 以方便ajax交互
struts2 的验证框架validation简单,好用,但是input只能输出到jsp页面通过struts2的标签<s:fielderror />才能取出,(EL应该也可以). 如果使 ...
- 通过flask中的Response返回json数据
使用flask的过程中,发现有时需要生成一个Response并返回.网上查了查,看了看源码,找到了两种办法: from flask import Response, json Response(jso ...
- 1. 处理静态资源 2. controller如何接受请求得参数 3. 如何把controller得数据保存到view. 4. 在controller如何完成重定向到指定路径 5. controller返回json数据
1. 1. 处理静态资源2. controller如何接受请求得参数3. 如何把controller得数据保存到view.4. 在controller如何完成重定向到指定路径5. controller ...
- spingmvc 返回json数据日期格式化方法
第一种: json 用的是这个依赖 <!-- JSON lib 开发包 以及它的依赖包 --> <dependency> <groupId>com.fasterxm ...
- Spring MVC 3.0 返回JSON数据的方法
Spring MVC 3.0 返回JSON数据的方法1. 直接 PrintWriter 输出2. 使用 JSP 视图3. 使用Spring内置的支持// Spring MVC 配置<bean c ...
- 在使用Ajax请求返回json数据的时候IE浏览器弹出下载保存对话框的解决方法
在使用Ajax请求返回json数据的时候IE浏览器弹出下载保存对话框的解决方法 最近在做一个小东西,使用kindeditor上传图片的时候,自己写了一个上传的方法,按照协议规则通过ajax返回json ...
- Ajax前台返回JSON数据后再Controller中直接转换成类型使用,后台接收json转成实体的方法
之前写过一篇记录文章,写的是将一个比较复杂的数据结构在前台组合起来后传递到后台. 当时并不太了解@RequestBody,也并没有使用js提供的JSON.stringify()方法 所有都是自己写的, ...
- struts框架返回json数据
设置返回result类型为json格式 <package name="cn.konngo.action" namespace="/" extends=&q ...
随机推荐
- eNSP 常用操作
1.eNSP关闭保存文件的提示信息 总是提示如下信息: Oct 12 2017 23:49:24-08:00 Huawei DS/4/DATASYNC_CFGCHANGE:OID 1.3.6.1.4. ...
- 生成器(generator,yield),next,send
#生成器 def generator(): for i in range(200): yield '哇哈哈%s' %i g = generator() #调用生成数函数,接受作用 ret = g.__ ...
- Linux 中提高的 SSH 的安全性
SSH 是远程登录 Linux 服务器的最常见的方式.且 SSH 登录的时候要验证的,相对来讲会比较安全.那只是相对,下面会介绍一些方式提高 SSH 的安全性 SSH 的验证 而SSH 登录时有两种验 ...
- 《node.js权威指南》读书笔记
第一章 node.js介绍 非阻塞型I/O机制 当在访问数据库取得搜索结果的时候,在开始访问数据库之后,数据库返回结果之前,存在一段等待时间. 在传统的单线程处理机制中,在执行了访问数据库的代码之后, ...
- vue2 学习笔记2
文中例子代码请参考github 品牌管理案例 添加新品牌 <body> <div id="app"> <div class="panel p ...
- 批量配置SSH互信脚本
在大规模自动化部署时我们常常需要配置好服务器的SSH互信,以便自动化脚本可以免密登录远程服务器,常规的手动配置SSH互信步骤如下: 使用ssh-keygen生成本地ssh key(mha01),生成的 ...
- adb连接手机模拟器
首先,要保证模拟器和电脑在同一网段(手机模拟器设置为桥接模式即可) 我使用的是夜神模拟器. 然后查看一下adb版本, adb version 需要1.0.31往上的版本才能连接. 然后输入 adb c ...
- 怎么将后缀为.opt,.frm,.myd,.myi文件还原或者是导入mySQL中
其实这个问题的解决方案很简单,把这些文件连同这些文件所在的文件夹原封不动地复制到你的 mysql 文件夹下的 data 里面 (在我的电脑里面是D:\xampp\mysql\data), 然后你进my ...
- Linux中“!"的神奇用法
前言 实际上,不起眼的“!”在linux中有着很多让你惊叹的妙用.本文就来细数那些“!”的神奇用法. 执行上一条命令 例如,在执行完上面一条命令后,可以使用下面的方式再次执行上一条命令: $ wher ...
- python collection模块
一.模块的认识 定义:模块就是我们把装有特定功能的代码进行归类的结果. 说明:从代码编写的单位来看我们的城西,从小到大:一条代码 -> 语句块 - >代码块(函数.类)-> 模块. ...