一、视图函数路由规则

from flask import Flask, redirect, url_for

# 创建flask应用对象
# __name__ 代表当前模块名称
# flask以当前目录为总目录,static目录为静态目录,templates为模版目录
app = Flask(__name__) @app.route("/")
def index():
"""定义视图函数"""
return "hello world" # 通过methods限定访问方式
@app.route("/post", methods=["POST"])
def post():
return "do post" @app.route("/hi1")
@app.route("/hi2")
def hi():
return "hi page" @app.route("/login")
def login():
# 使用url_for函数通过视图函数的名字找到url路径
url = url_for("index")
return redirect(url) if __name__ == '__main__':
# 查看所有的路由
print(app.url_map)
# 启动应用程序
app.run(debug=True)

二、路由参数提取与自定义转换器

from flask import Flask, redirect, url_for
from werkzeug.routing import BaseConverter # 创建flask应用对象
# __name__ 代表当前模块名称
# flask以当前目录为总目录,static目录为静态目录,templates为模版目录
app = Flask(__name__) # 路由转换器 int,float,path
# http://127.0.0.1:5000/goods/12
@app.route("/goods/<int:goods_id>")
# @app.route("/goods/<goods_id>") 也可以
def goods_detail(goods_id):
return "goods_detail_%s" % str(goods_id) # 1、自定义转化器
class RegexConvert(BaseConverter):
def __init__(self, url_map, regex):
# 调用父类初始化方法
# super(RegexConvert, self).__init__(url_map)
BaseConverter.__init__(self, url_map)
# 将正则表达式保存到对象属性中,flask会使用这个属性来路由正则匹配
self.regex = regex # 2、将自定义的转化器添加到flask中
app.url_map.converters["re"] = RegexConvert # 3、使用
@app.route("/send/<re(r'1[34578]\d{9}'):mobile>")
# http://127.0.0.1:5000/send/18612345678
def send_sms(mobile):
return "send sms to %s" % mobile @app.route("/")
def index():
url = url_for("send_sms", mobile = "")
return redirect(url) if __name__ == '__main__':
# 查看所有的路由
print(app.url_map)
# 启动应用程序
app.run(debug=True)

Flask框架 之路由的更多相关文章

  1. Flask框架 之 路由和视图详解

    路由+视图 我们之前了解了路由系统是由带参数的装饰器完成的. 路由本质:装饰器和闭包实现的. 路由设置的两种方式 来看个例子. @app.route('/index') def index(): re ...

  2. flask框架路由系统

    flask框架的url系统: flask框架的路由系统: flask框架的路由系统使用实例化的route方法来指定: 如: @app.route('/') route函数装饰器可以把一个函数绑定到对应 ...

  3. Python-S9-Day116——Flask框架相关

    01 内容回顾 02 Flask框架:路由和视图(一) 03 Flask框架:路由和视图(二) 04 Flask框架:路由和视图(三) 05 Flask框架:路由和视图(四) 06 Flask框架:s ...

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

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

  5. Python Flask框架路由简单实现

    Python Flask框架路由的简单实现 也许你听说过Flask框架.也许你也使用过,也使用的非常好.但是当你在浏览器上输入一串路由地址,跳转至你所写的页面,在Flask中是怎样实现的,你是否感到好 ...

  6. Flask 框架入门

    Flask Flask是一个使用 Python 编写的轻量级 Web 应用框架.其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2 . 安装 Flask 依赖两个外部库, We ...

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

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

  8. Flask框架

    FLask框架的简单介绍 Flask是一个基于Python开发并且依赖jinja2模板和Werkzeug WSGI服务的一个微型框架,对于Werkzeug本质是Socket服务端,其用于接收http请 ...

  9. Flask框架(1)--基础

    Flask是一个基于Python开发并且依赖jinja2模板和Werkzeug WSGI服务的一个微型框架,对于Werkzeug本质是Socket服务端,其用于接收http请求并对请求进行预处理,然后 ...

随机推荐

  1. 使用Charles进行网络抓包

    一.安装Charles 二.使用 1.http抓包 1.1 现在我们默认是在进行iOS开发,首先确保iPhone和Mac是在同一个局域网下(连同一个WiFi).然后查看Mac的IP地址(打开网络偏好设 ...

  2. 自己动手写shell命令之ls -R1fF

    ls命令的R參数代表递归的列出全部子目录中的全部文件,1表示每一行仅仅显示一个文件或目录,f表示不排序即输出.F表示在每项的输出的最后依据其文件类型对应的加上*/=>@|字符.通过c语言实现ls ...

  3. jquery跨域请求json数据

    //服务端生成json数据json.php <?php $json=array("Volvo","BMW","SAAB"); $cb ...

  4. debug 和release 的区别

    http://blog.csdn.net/h_wlyfw/article/details/26688677

  5. java图片处理工具之-ImageMagick+jmagick(二)

    简单的图片处理測试类: public class ImageUtil { static{           System.setProperty("jmagick.systemclassl ...

  6. CCBPM工作流引擎的消息机制与设计

    keyword:ccflowjflow 消息机制流程引擎 自己主动发送短信 发送邮件 发送消息 流程引擎微信连接 消息接口 关于ccbpm: 我们把ccflow jflow两个版本号的工作流引擎统称为 ...

  7. 【bzoj1029】[JSOI2007]建筑抢修

    按照t2从小到大排列之后贪心. 若当前任务可以插入,则插入. 若当前任务不可以插入,分两种情况: ①当前任务的耗时大于等于之前插入的任务的最大耗时:跳过当前任务 ②当前任务的耗时小于之前插入的任务的耗 ...

  8. grep 并列查询 效率 且 或

    find / | grep -v python | grep -v xl_ | grep -v xiaole |grep redis [root@hadoop3 ~]# find / | grep - ...

  9. [mac]WireShark检測不到网卡怎么办?

    wireshark是一个很好用的抓包工具,有windows版本号和mac版本号,在mac下安装wireshark,启动后发现提示"There are no interfaces on whi ...

  10. 用C#读取txt文件的方法(转)

    .使用FileStream读写文件 文件头: using System; using System.Collections.Generic; using System.Text; using Syst ...