flask框架视图函数用法示例


Posted in Python onJuly 19, 2018

本文实例讲述了flask框架视图函数用法。分享给大家供大家参考,具体如下:

flask框架 视图函数当中 各种实用情况简单配置

1 建立连接

2 路由参数

3 返回网络状态码

4 自定义错误页面

5 重定向

6 正则url限制 和 url 优化

7 设置和获取cookie

#coding:utf8
# 导入flask
from flask import Flask,abort,redirect,make_response,request
from werkzeug.routing import BaseConverter
# Flask 接受一个参数__name__ 作用是指明应用的位置
app = Flask(__name__)
'''
1 建立一个前后台链接
装饰器的作用是陆游映射到视图函数index
访问根目录就会进入index视图函数
'''
@app.route('/')
def index():
  # 返回后会调用make_response
  return "你好 世界!"
'''
2 给路由传参数
传递的参数在<name>当中 这个变量名称也要传递给视图函数
可以在<int:name> 或者<string:name> 指定传递参数的类型
不指定类型默认使用string类型
'''
@app.route('/attr/<string:attr>')
def attr(attr):
  return "hello,%s"%attr
'''
3 返回网络状态码的两种方式
  01 return 字符串,状态码
  02 abort(状态码)
200 成功
300 重定向
404 未找到
500 服务器内部错误
'''
#01 return 字符串,状态码 这种方式 可以返回不存在的状态码 前端依然能得到页面
@app.route('/status')
def status():
  # 用这种方式可以返回假的状态码 前端依然能够渲染
  return 'hello status',999
#02 利用abort(状态码) 进行返回状态码,只能写入真的状态码
# 这个函数的作用是 自定义我们项目的 出错页面
@app.route('/abort')
def geive500():
  abort(500)
'''
4 捕获访问我们flask后台发生各种错误的情况
  利用@app.errorhandler(500) 进行装饰 能截获500的response
'''
# 捕获500异常 函数当中接受到错误信息
@app.errorhandler(500)
def error500(e):
  return "您请求的页面后台发生错误!错误信息:%s"%e
@app.errorhandler(404)
def error404(e):
  return "您访问的页面飞去了火星!信息:%s"%e
'''
5 重定向
有两种方式:
  01 redirect(url)
  02 url_for(视图函数)
'''
@app.route('/redirect')
def redir():
  return redirect('http://www.baidu.com')
'''
6 url正则
两个用途: 限制访问 和 优化访问路径
使用:
01首先要 定义一个继承自BaseConverter的子类
  在子类里面调用父类的初始化方法
  重写父类的变量
02然后 给applurl_map.converters 字典添加re健 和 我们自己写的类做val
03最后 视图函数的app.route('路径<re(正则),变量名>')   
  变量名要传给视图函数做参数
'''
# 01 写一个继承自 BaseConverter的子类 相应的方法和属性要重写
class Regex_url(BaseConverter):
  def __init__(self,url_map,*args):
    super(Regex_url,self).__init__(url_map)
    self.regex = args[0]
# 02 添加re映射
app.url_map.converters['re'] = Regex_url
# 03 正则匹配参数
# 利用正则对传入参数进行限制
# 只有1到3位小写英文才能成功 否则都是404
@app.route('/attr2/<re("[a-z]{1,3}"):attr>')
def attr2(attr):
  return "hello %s"%attr
'''
7 设置cookie 和 获取 cookie
设置cookie:
  利用 make_response() 拿到response对象
  response.set_cookie(key,val)
获取cookie:
  利用request.cookies.get(key) 获取cookie
'''
# 设置cookie
@app.route('/set_cookie')
def setCookie():
  response = make_response('设置cookie')
  response.set_cookie('log','设置的cookie')
  return response
# 获取cookie
@app.route('/get_cookie')
def getCookie():
  log = request.cookies.get('log')
  return log
if __name__ == '__main__':
  # 执行后台服务器
  app.run(debug=True)

更多关于Python相关内容可查看本站专题:《Python入门与进阶经典教程》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
Python中unittest用法实例
Sep 25 Python
python根据出生日期获得年龄的方法
Mar 31 Python
在Heroku云平台上部署Python的Django框架的教程
Apr 20 Python
django将图片上传数据库后在前端显式的方法
May 25 Python
利用Python求阴影部分的面积实例代码
Dec 05 Python
Python使用post及get方式提交数据的实例
Jan 24 Python
python计算二维矩形IOU实例
Jan 18 Python
python logging 日志的级别调整方式
Feb 21 Python
Python 使用 environs 库定义环境变量的方法
Feb 25 Python
Selenium 滚动页面至元素可见的方法
Mar 18 Python
使用python计算三角形的斜边例子
Apr 15 Python
Python logging自定义字段输出及打印颜色
Nov 30 Python
Python中的单行、多行、中文注释方法
Jul 19 #Python
Python定义一个跨越多行的字符串的多种方法小结
Jul 19 #Python
Python基于分析Ajax请求实现抓取今日头条街拍图集功能示例
Jul 19 #Python
Python通过调用有道翻译api实现翻译功能示例
Jul 19 #Python
python3基于OpenCV实现证件照背景替换
Jul 18 #Python
python和opencv实现抠图
Jul 18 #Python
Python错误处理操作示例
Jul 18 #Python
You might like
支持中文的php加密解密类代码
2011/11/27 PHP
基于PHP CURL用法的深入分析
2013/06/09 PHP
php利用腾讯ip分享计划获取地理位置示例分享
2014/01/20 PHP
smarty半小时快速上手入门教程
2014/10/27 PHP
php数字每三位加逗号的功能函数
2015/10/22 PHP
php对微信支付回调处理的方法
2018/08/23 PHP
PHP5.0 TIDY_PARSE_FILE缓冲区溢出漏洞的解决方案
2018/10/14 PHP
PHP实现提高SESSION响应速度的几种方法详解
2019/08/09 PHP
JavaScript中各种编码解码函数的区别和注意事项
2010/08/19 Javascript
js 创建快捷方式的代码(fso)
2010/11/19 Javascript
Js四则运算函数代码
2012/07/21 Javascript
jQuery 全选/反选以及单击行改变背景色实例
2013/07/02 Javascript
SuperSlide2实现图片滚动特效
2014/06/20 Javascript
jquery实现页面常用的返回顶部效果
2016/03/04 Javascript
JS仿京东移动端手指拨动切换轮播图效果
2020/04/10 Javascript
JS实现的简单拖拽购物车功能示例【附源码下载】
2018/01/03 Javascript
ES6函数实现排它两种写法解析
2020/05/13 Javascript
[46:27]DOTA2上海特级锦标赛主赛事日 - 1 胜者组第一轮#2LGD VS MVP.Phx第一局
2016/03/02 DOTA
python的类方法和静态方法
2014/12/13 Python
Python中实现从目录中过滤出指定文件类型的文件
2015/02/02 Python
Python读取和处理文件后缀为.sqlite的数据文件(实例讲解)
2017/06/27 Python
Win10下Python3.7.3安装教程图解
2019/07/08 Python
python配置文件写入过程详解
2019/10/19 Python
Django中提示消息messages的设置方式
2019/11/15 Python
Django操作session 的方法
2020/03/09 Python
详解Python 最短匹配模式
2020/07/29 Python
梵蒂冈和罗马卡:Omnia Card Pass
2018/02/10 全球购物
给老婆的保证书范文
2014/04/28 职场文书
企业承诺书格式
2014/05/21 职场文书
好的旅游活动方案
2014/08/19 职场文书
群众路线教育查摆剖析材料
2014/10/10 职场文书
锅炉工岗位职责
2015/02/13 职场文书
硕士学位申请报告
2015/05/15 职场文书
环保建议书作文300字
2015/09/14 职场文书
python3 sqlite3限制条件查询的操作
2021/04/07 Python
如何通过简单的代码描述Angular父组件、子组件传值
2022/04/07 Javascript