flask路由与视图函数中参数传递

客户端(例如 Web 浏览器)把请求发送给 Web 服务器,Web 服务器再把请求发送给 Flask 程序实例。程序实例需要知道对每个 URL 请求运行哪些代码,所以保存了一个 URL 到 Python 函数的映射关系。处理 URL 和函数之间关系的程序称为路由

在 Flask 程序中定义路由的最简便方式,是使用程序实例提供的 app.route 修饰器,把修 饰的函数注册为路由。

@app.route('/')
def index():
  return '<h1>Hello World!</h1>'

像 index() 这样的函数称为视图函数(view function)。

传递参数

传递参数的语法是:"/<参数名>/",然后在视图函数中,也要定义同名的参数
converter:variable_name,其中converter就是类型名称

类型说明
string默认的数据类型,接受没有任何斜杠"/"的文本
int接受整型
float接受浮点类型
path和string的类似,但是接受斜杠
uuid只接受uuid字符串(唯一,长度过长)
any可以指定多种路径。

'any’数据类型可以在一个"url"中的指定多个路径
eg:

from flask import Flask, config

app = Flask(__name__)

@app.route('/<any(blog,user):url_path>/<id>')
def detail(url_path,id):
    if url_path == "blog":
        return "博客详情:%s" % id
    else:
        return "用户详情:%s" % id

if __name__ == '__main__':
	app.run(host="0.0.0.0", port="8899", debug=True)

在这里插入图片描述

在这里插入图片描述

URL 与视图函数中两种方式传参方式
  • 第一种:使用 path 的形式(将参数嵌入到路径中)
@app.route('/user/<name>')
      def user(name):
return '<h1>Hello, %s!</h1>' % name

在这里插入图片描述

  • 第二种:使用查询字符串的方式,就是通过 “?key=value” 的形式传递的
@app.route('/user/')
def user():
	username = request.args.get("name")
	return f"当前登录用户为:{username}!欢迎登录!!!"

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值