#转载请留言联系

flask 框架基本使用(1):https://www.cnblogs.com/chichung/p/9756935.html

1. flask 自定义返回状态码与响应头

from flask import Flask,make_response

app=Flask(__name__)

@app.route("/")
def index():
#666是指定的状态码,name:chichung是添加到响应头的键对
return "<h1>我是大标题</h1>",666,{"name":"chichung"} if __name__ == '__main__':
app.run()

2. flask 返回json

json 是 js 里面默认的一种对象格式,是当今网络普遍使用的一种数据传输格式,应用在不同的平台或不同的编程语言直接进行数据的传输。

在开发中,经常遇到后端返回 json 给前端的情况。那么,用 flask 应该怎么返回 json 呢?

from flask import Flask,jsonify

app = Flask(__name__)

@app.route("/index_data")
def index_data():
respond_data = { #判断json格式是否正确可以用搜索一下json格式化
"name": "chichung",
"height": 177,
"weight": 110.5
}
return jsonify(respond_data) if __name__ == '__main__':
app.run()

jsonify 方法可以把 respond_data 字典转化为 json 的字符串(原理与 json.dump())相同,然后在进行返回给前端。

拓展:

在返回不同的数据时(例如图片,js,css......),通常要指定响应头,写上返回的数据的类型。

# js
text/javascript
application/javascript

# css
text/css

# html
text/html

# json
application/json
text/json

# png,gif,jpg/jpeg
image/png
image/gif
image/jpeg
image/jpg

3. flask 实现网页的重定向响应

重定向响应是什么呢?举个栗子说明。京东以前的域名是www.360buy.com,而现在改为了www.jd.com。但是你访问360buy.com的时候,会自动跳转到jd.com。假设你是京东的web开发,你要实现这个功能,你会怎么做呢?

from flask import Flask,redirect

app=Flask(__name__)

@app.route("/")
def index():
return redirect("http://www.jd.com") if __name__ == '__main__':
app.run()

还有一种情况,你打开淘宝,点进“我的淘宝”,跳出了让你登录的窗口。这是怎么实现的呢?

from flask import Flask,redirect,url_for

app=Flask(__name__)

@app.route("/center")
def center():
#如果还没登录自动跳转到登录界面
url = url_for("login") #url_for的作用是根据视图函数的名称来自动生成对应的url地址
return redirect(url) @app.route("/login")
def login():
return "请登录" if __name__ == '__main__':
app.run()

进行页面跳转的编写时,一般不要固定跳转的 url 地址,而是采用 url_for 函数来生成对应的 url 地址。因为有些公司会定期更改一下 url ,但是视图函数的名字一直都是固定的。

拓展:

3xx统一都是表示页面重定向。

301 永久重定向

302 临时重定向

flask框架基本使用(2)(响应与重定向)的更多相关文章

  1. Flask 框架 重定向,捕获异常,钩子方法及使用jsonify在网页返回json数据

    Flask 框架中常用到重定向方法来实现路由的跳转 ,路由跳转又分为站内跳转和站外跳转 常用的站内跳转方法为url_for  而常用的站外跳转为redirect 在这里提示一下: 在使用两种方法是须调 ...

  2. Flask框架(二)—— 反向解析、配置信息、路由系统、模板、请求响应、闪现、session

    Flask框架(二)—— 反向解析.配置信息.路由系统.模板.请求响应.闪现.session 目录 反向解析.配置信息.路由系统.模板.请求响应.闪现.session 一.反向解析 1.什么是反向解析 ...

  3. Flask框架 请求与响应 & 模板语法

    目录 Flask框架 请求与响应 & 模板语法 简单了解Flask框架 Flask 框架 与 Django 框架对比 简单使用Flask提供服务 Flask 中的 Response(响应) F ...

  4. [Python自学] Flask框架 (1) (Flask介绍、配置、Session、路由、请求和响应、Jinjia2模板语言、视图装饰器)

    oldboy:s9day114 参考博客:https://www.cnblogs.com/wupeiqi/articles/7552008.html 一.Flask简介 1.安装Flask pip i ...

  5. flask请求钩子、HTTP响应、响应报文、重定向、手动返回错误码、修改MIME类型、jsonify()方法

    请求钩子: 当我们需要对请求进行预处理和后处理时,就可以用Flask提供的回调函数(钩子),他们可用来注册在请求处理的不同阶段执行的处理函数.这些请求钩子使用装饰器实现,通过程序实例app调用,以 b ...

  6. Python自动化运维之30、Flask框架

    Flask 官网:http://flask.pocoo.org/ flask是一个基于Python开发并且依赖jinja2模板和Werkzeug WSGI服务的一个微型框架,对于Werkzeug本质是 ...

  7. Flask框架搭建一个日程表

    目录 前言 项目介绍 技术栈 Flask Web开发流程 一.搭建环境 1.1: 创建虚拟环境 1.2: 安装依赖包 1.3: 创建依赖包列表文件 1.4: 测试hello word 二.应用程序开发 ...

  8. Flask框架从入门到实战

    Flask简介: Flask是一个使用 Python 编写的轻量级 Web 应用框架,基于 WerkzeugWSGI工具箱和 Jinja2模板引擎.使用 BSD 授权. Flask也被称为 " ...

  9. python之Flask框架

    一.简单的Flask框架 1)flask简介 Flask 是一个 web 框架.也就是说 Flask 为你提供工具,库和技术来允许你构建一个 web 应用程序. 这个 wdb 应用程序可以使一些 we ...

随机推荐

  1. gcc常用命令

    1简介 2简单编译 2.1预处理 2.2编译为汇编代码(Compilation) 2.3汇编(Assembly) 2.4连接(Linking) 3多个程序文件的编译 4检错 5库文件连接 5.1编译成 ...

  2. MVC WebAPI 的基本使用

    1.什么是WebAPI Web API是网络应用程序接口.包含了广泛的功能,网络应用通过API接口,可以实现存储服务.消息服务.计算服务等能力,利用这些能力可以进行开发出强大功能的web应用. 它可以 ...

  3. CodeForces 873F Forbidden Indices 后缀数组

    忘了当时怎么做的了,先把代码贴上,保存一下后缀数组模板. #include <cstdio> #include <cstring> #include <algorithm ...

  4. android stadio mapping文件的使用

    mapping文件就是在对代码混淆以后,你用来查看混淆前和混淆后的对比文件. 一般用来查看线上的bug; java.lang.NullPointerException: Attempt to invo ...

  5. Java学习关于时间操作的应用类--Date类、Calendar类及其子类

    Date类 Date类封装了当期时间和日期.与Java1.0定义的原始版的Date类相比,Date类发生了本质的变化.在Java1.1发布时,原始版Date类定义的许多功能被移进Calendar类和D ...

  6. js和CSS3炫酷3D相册展示

    <!doctype html> <html> <head> <meta charset="UTF"> <title>js ...

  7. 《Cracking the Coding Interview》——第17章:普通题——题目11

    2014-04-29 00:00 题目:给定一个rand5()函数,能够返回0~4间的随机整数.要求实现rand7(),返回0~6之间的随机整数.该函数产生随机数必须概率相等. 解法:自己想了半天没想 ...

  8. (转)KlayGE游戏引擎 :高效的GBUFFER管理方式

    转载请注明出处为KlayGE游戏引擎,本文的永久链接为http://www.klayge.org/?p=3304 个顶点.这样的数据对GPU来说是很头疼的.所以引擎往往需要在Buffer上做一些工作来 ...

  9. linux误删除恢复

    extundelete 大家基本都知道,在linux上误删除了东西后果是很严重的,尤其是在服务器上误删除了东西,对于字符终端,想要实现恢复删除的数据更是难上加难,对于Linux误删除了重要的东西,虽然 ...

  10. Android 之高仿微信主界面

    源码下载:  http://files.cnblogs.com/aibuli/WeChatSample.zip 主界面主要使用ActionBar来完成.  要实现这个效果,第一步当然是编辑menu目录 ...