Flask 快速框架入门(三,路由的变量规则和匹配规则)

3 篇文章 0 订阅
1 篇文章 0 订阅

路由的变量规则

  1. 意思是说在路由当中允许出现变量,变量不同结果就是不同的,下面我通过一个例子讲解。如下代码:
from flask import Flask, Response
import setting

app = Flask(__name__)
app.config.from_object(setting)

@app.route('/')
def hello_world():
   return 'Hello World!'

data = {"1": "北京", "2": "上海", "3": "深圳"}# 路由变量规则

@app.route("/getcitv/<gid>")
def getcitv(gid):
   print(type(gid))  # 默认是str类型,不能指定是str 否则就会报错
   return f"这是{data[gid]}"
   
if __name__ == '__main__':
   app.run()
  1. 当我们在装饰器路由里面写< num >时下方的视图函数也必须要接收num不然会报黄,我们可以指定变量类型,默认是str类型不能指定是str类型会报错,指定类型语法如下:
@app.route("/add/<int:num>")# 乌龟的屁股规定语法 int:
def num(num):
    return str(num + 10)  # 不转换类型页面会500错误 string, dict, tuple, Response  WSGI
  1. 大家可以去运行终端运行这个flask文件去试试这两个路由,支持的变量类型如下图其中的uuid用的地方不多如果想了解可以去搜索一下:
    在这里插入图片描述

路由的匹配规则

这里就简单给大家一下直接看代码:

# 所有的路由搜索规则都是自上而下搜索,在写路由的是有定义的路由是唯一的。

@app.route('/projects')  # 请求路由中如果添加了/:http://127.0.0.1:5000/about/  显示Not Found
def about():
    return 'The about page'

@app.route('/projects/')  # 路由中定义'/',无论请求的URL是否带有/,都可以执行视图函数。如果请求的是有/,浏览器做了一次重定向
def projects():
    return 'The project page'

大家简单记住在flask中定义路由中如果我们加“ / ” 了我们可以不用在浏览器中添加 / 会默认跳转到,反之我们没有加“ / ”浏览器中我们也不能添加,否则会显示Not Found不存在。这里跟django是不一样的。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值