Flask路由实现动态传参

需求:定义一个视图函数,来显示不同用户的订单信息

# 路由实现动态传参
# 需求:使用一个视图函数来显示不同用户的订单信息
@index_blu.route("/order/<order_id>")  # <>定义路由参数, <>内需要起个名字
# 需要在函数()内填入参数名,name后面的代码就能够使用
def get_order_id(order_id):
    return "order_id is %s" %order_id

实现的效果:
在这里插入图片描述
但是这样实现起来有个问题,不管你order后面接的是什么都会访问到
在这里插入图片描述
但我们的订单应该是数字,此时我们应该限定一下我们后面传入参数的类型

# 路由实现动态传参
# 需求:使用一个视图函数来显示不同用户的订单信息
@index_blu.route("/order/<int:order_id>")  # <>定义路由参数, <>内需要起个名字且在前面定义传入参数的类型
# 需要在函数()内填入参数名,name后面的代码就能够使用
def get_order_id(order_id):
    return "order_id is %s" %order_id

实现的效果
当我们传入的是字符串时:
在这里插入图片描述
当我们传入的是数字时:
在这里插入图片描述

在Python Flask中传递参数有多种方式,以下是一些常见的方法: 1. URL参数: 可以通过在URL中添加参数来传递数据。在路由定义中,使用尖括号指定参数名称,并在视图函数中接收该参数。例如: ```python from flask import Flask app = Flask(__name__) @app.route("/hello/<name>") def hello(name): return f"Hello, {name}!" if __name__ == "__main__": app.run() ``` 在上面的例子中,通过访问`/hello/John`,将会显示`Hello, John!`。 2. 查询参数: 可以通过在URL中使用查询字符串的方式传递参数。在视图函数中,可以使用`request.args.get()`方法来获取查询参数的值。例如: ```python from flask import Flask, request app = Flask(__name__) @app.route("/hello") def hello(): name = request.args.get("name") return f"Hello, {name}!" if __name__ == "__main__": app.run() ``` 在上面的例子中,通过访问`/hello?name=John`,将会显示`Hello, John!`。 3. 表单数据: 如果需要通过表单提交数据,可以使用`request.form`对象来获取表单数据。需要在HTML表单中设置`method="POST"`,并且确保表单中的字段名称与视图函数中的变量名称相匹配。例如: ```python from flask import Flask, request app = Flask(__name__) @app.route("/login", methods=["GET", "POST"]) def login(): if request.method == "POST": username = request.form.get("username") password = request.form.get("password") # 处理表单数据 return f"Welcome, {username}!" return """ <form method="POST" action="/login"> <input type="text" name="username" placeholder="Username"><br> <input type="password" name="password" placeholder="Password"><br> <input type="submit" value="Submit"> </form> """ if __name__ == "__main__": app.run() ``` 在上面的例子中,当用户提交表单时,将会显示欢迎消息。 这些只是传递参数的几种常见方式,根据具体的需求和场景,你还可以使用其他的方法来传递参数,例如使用HTTP头部、请求体等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值