flask携带参数转向

from flask import render_template, url_for, redirect, request

from flask import Flask

app = Flask(__name__)


@app.route('/homepage/<s_name>', methods=["GET", "POST"])
def homepage(s_name):
    return render_template("homepage.html",s_name=s_name)


@app.route('/', methods=["GET", "POST"])
def login():
    if request.method == "GET":
        return render_template("login.html")
    s_name = request.form.get("s_name")
    s_age = request.form.get("s_age")
    print(s_age + ' ' + s_name)
    return redirect('homepage/%s'%s_name)

if __name__ == '__main__':
    app.run()

html页面跳转

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<form method="post">
    <input type="text" name="s_name" placeholder="your_name"id="s_name">
    <input type="text" name="s_age" placeholder="your_age" id="s_age">
    <input type="submit">
</form>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    {{s_name}}
</body>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Flask 中,可以使用 Flask-RESTful 或 Flask-Inputs 等第三方库来实现接口参数校验。 Flask-RESTful: Flask-RESTful 提供了 RequestParser 类来进行参数解析和校验,示例代码如下: ```python from flask_restful import reqparse, abort, Api, Resource # 初始化 RequestParser 对象 parser = reqparse.RequestParser() # 添加参数校验规则 parser.add_argument('name', type=str, required=True, help='Name cannot be blank') parser.add_argument('age', type=int, required=True, help='Age cannot be blank') class User(Resource): def post(self): # 解析参数 args = parser.parse_args() # 校验参数 if args['name'] == 'Tom': abort(400, message='Name already exists') # 处理业务逻辑 user = {'name': args['name'], 'age': args['age']} return user, 201 # 注册路由 api = Api(app) api.add_resource(User, '/user') ``` 上述代码中,我们创建了一个名为 User 的资源类,其中 post 方法用于处理 POST 请求。在 post 方法中,我们首先使用 RequestParser 对象解析参数,然后校验参数是否符合要求,最后处理业务逻辑并返回结果。 Flask-Inputs: Flask-Inputs 提供了多种参数校验器,包括字符串长度、数字范围、正则表达式等,示例代码如下: ```python from flask import Flask, jsonify from flask_inputs import Inputs from flask_inputs.validators import JsonSchema # 初始化 Inputs 对象 inputs = Inputs() # 添加参数校验规则 schema = { 'type': 'object', 'properties': { 'name': {'type': 'string', 'minLength': 1}, 'age': {'type': 'integer', 'minimum': 0, 'maximum': 200} }, 'required': ['name', 'age'] } inputs.add('json', JsonSchema(schema=schema)) @app.route('/user', methods=['POST']) def create_user(): # 校验参数 if inputs.validate(): # 处理业务逻辑 user = {'name': inputs.json['name'], 'age': inputs.json['age']} return jsonify(user), 201 else: return jsonify(errors=inputs.errors), 400 ``` 上述代码中,我们创建了一个名为 create_user 的路由,其中使用 Inputs 对象添加了参数校验规则,然后在路由处理函数中校验参数并处理业务逻辑。如果参数校验失败,我们将返回 400 错误和错误信息。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值