flask学习笔记代码篇-02

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/CSDNgaoqingrui/article/details/82531430

flask02


from flask import Flask, request, json, jsonify, redirect, url_for

app = Flask(__name__)


# 规定传入的参数是int类型

@app.route('/user/<int:user_id>')

def demo1(user_id):

    return 'user_id %s' % user_id


@app.route('/demo2', methods=['GET', 'POST'])

def demo2():

    return 'demo2 请求方式:%s' % request.method


#  返回 json字符串

@app.route('/json')

def demo3():

    tem_dict = {

        'name': 'laowangba',

        'age': 23

    }

    # json_str = json.dumps(tem_dict)

    json_str = jsonify(tem_dict)  # jsonify相比于json.dumps,都能返回json,但是jsonify生成响应,设置 content-type为 application/json

    return json_str


# 重定向

@app.route('/redirect')

def demo4():

    # 重定向到网络地址

    # return redirect('http://www.baidu.com')

    # 重定向到已有视图函数; url_for 传入函数名字,生成函数所对应的路由地址

    return redirect(url_for('demo1', user_id=3456))  # url_for生成指定视图函数名所对应的路路由,第一个参数函数名,第二个参数是函数需要的参数


# 自定义状态码

@app.route('/demo5')

def demo5():

    return '指定状态码', 665


@app.route('/<any(about, help, imprint, class, "foo,bar"):prams>')

def demo6(prams):

    return prams


if __name__ == '__main__':

    # print(app.url_map)

    '''

      Map([<Rule '/redirect' (GET, OPTIONS, HEAD) -> demo4>,

     <Rule '/demo2' (GET, OPTIONS, POST, HEAD) -> demo2>,

     <Rule '/demo5' (GET, OPTIONS, HEAD) -> demo5>,

     <Rule '/json' (GET, OPTIONS, HEAD) -> demo3>,

     <Rule '/static/<filename>' (GET, OPTIONS, HEAD) -> static>,

     <Rule '/user/<user_id>' (GET, OPTIONS, HEAD) -> demo1>,

     <Rule '/<prams>' (GET, OPTIONS, HEAD) -> demo6>])

     '''

    app.run(debug=True)

本篇主要内容:装饰器规定传入参数类型、返回json字符串、重定向、指定状态码

猜你喜欢

转载自blog.csdn.net/CSDNgaoqingrui/article/details/82531430
今日推荐