当前位置 博文首页 > Python Flask 转换器的使用详解

    Python Flask 转换器的使用详解

    作者:一痴傻人 时间:2021-09-12 18:01

    目录
    • 默认转换器
    • 自定义转换器
    •  定义方法

    默认转换器

    from flask import Flask
    
    app = Flask(__name__)
    
    #/user/123
    @app.route('/users/<user_id>')
    def get_users_data(user_id):
    	return 'get user{}'.format(user_id)

    这个123 是字符串 str

    在这里插入图片描述

    from flask import Flask
    
    app = Flask(__name__)
    
    #/user/123
    @app.route('/users/<int:user_id>')
    def get_users_data(user_id):
    	return 'get user{}'.format(user_id)

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    自定义转换器

     定义方法

    自定义转换器主要做3步

    1.创建转换器类,保存匹配时的正则表达式

    from werkzeug.routing import BaseConverter
    
    class MobileConverter(BaseConverter):
        """
        手机号格式
        """
        regex = r'1[3-9]\d{9}]'

    注意regex名字固定

    2.将自定义的转换器告知Flask应用

    app = Flask(__name__)
    #将自定义转换器添加到转换器字典中,并指定转换器使用时名字为:mobile
    app.url_map.converters['mobile'] = MobileConverter

    3.在使用转换器的地方定义使用

    @app.route('/sms_codes/<mobile:mob_num>')
    def send_sms_code(mob_num):
        return 'send sms code to {}'.format(mob_num)
    jsjbwy