【Flask】 python学习第一章

路由参数与请求方式制定  

ALT+回车 pycharm 快速导包 

demo3  指定访问地址  与请求方式 

#   给路由传入参数 使用尖括号 ,视图函数需要接收参数

@app.route("/index/<int:user_id>", method=['POST, 'GET'])

def index(user_id):

  return "%s + demo" % user_id

from flask import Flask, request

app = Flask(__name__,
            static_url_path='/python27',  # 必须以斜杠开头 否则报错
            static_folder='static',
            template_folder='templates')


@app.route('/')
def index():
    return "hello wolrd"


# 给路由传入参数 使用尖括号 ,视图函数需要接收参数
# <int:user_id>  限定参数为整数
@app.route('/user/<int:user_id>')
def demo01(user_id):
    return "%s+demo2" % user_id


# 添加请求方式
@app.route("/demo3", methods=['GET', 'POST'])
def demo3():
    # 打印请求类型
    return "demo3 %s" % request.method


if __name__ == '__main__':
    app.run("127.0.0.1", 8080, debug=True)

路由参数与请求方式
路由参数与请求方式

demo4 将字典转成json格式 

# json.dumps("{字典}") 字典转换json字符串

# json.loads("{json"}) json转字典      封装响应 指定返回类型 

直接使用 return jsonify(字典) 直接返回json格式 Flask自带  指定返回content-type【内容类型】 

return jsonify("字典参数")

from flask import Flask, request, json

app = Flask(__name__,
            static_url_path='/python27',  # 必须以斜杠开头 否则报错
            static_folder='static',
            template_folder='templates')


@app.route('/')
def index():
    return "hello wolrd"


# 给路由传入参数 使用尖括号 ,视图函数需要接收参数
# <int:user_id>  限定参数为整数
@app.route('/user/<int:user_id>')
def demo01(user_id):
    return "%s+demo2" % user_id


# 添加请求方式
@app.route("/demo3", methods=['GET', 'POST'])
def demo3():
    # 打印请求类型
    return "demo3 %s" % request.method


@app.route("/json")
def demo4():
    # key 必须为字符串
    json_dict = {
        "name": "laowang",
        "age": 18,
        "color": "green"
    }
    # 将字典转为字符串  
    #result = json.dumps(json_dict)
    return jsonify(json_dict)

if __name__ == '__main__':
    app.run("127.0.0.1", 8080, debug=True)

 
字典转换成json

demo5 重定向 

# url_for 指定视图的路由URL 并且可以携带参数

@app.route("/redirect")

def demo5():

  # return redirect("https://www.baidu.com")

     return redirect(url_for("demo01", user_id=123))

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

app = Flask(__name__,
            static_url_path='/python27',  # 必须以斜杠开头 否则报错
            static_folder='static',
            template_folder='templates')


@app.route('/')
def index():
    return "hello wolrd"


# 给路由传入参数 使用尖括号 ,视图函数需要接收参数
# <int:user_id>  限定参数为整数
@app.route('/user/<int:user_id>')
def demo01(user_id):
    return "%s+demo2" % user_id


# 添加请求方式
@app.route("/demo3", methods=['GET', 'POST'])
def demo3():
    # 打印请求类型
    return "demo3 %s" % request.method


@app.route("/json")
def demo4():
    # key 必须为字符串
    json_dict = {
        "name": "laowang",
        "age": 18,
        "color": "green"
    }
    # 将字典转为字符串
    result = json.dumps(json_dict)
    test_dict = json.loads('{"name":"laowang","age":18}')

    return result


# demo5 重定向
@app.route("/redirect")
def demo5():
    # return redirect("https://www.baidu.com")
    return redirect(url_for("demo01", user_id=123))


if __name__ == '__main__':
    app.run("127.0.0.1", 8080, debug=True)
demo5 重定向并使用url_for 指定视图路由

demo6 自定义状态码

@app.route("/demo6")

def demo6():

  return 'demo6' , 666

一个爱学习的oscar

原文地址:https://www.cnblogs.com/oscarli/p/12047237.html