Python Flask,视图路由,路由解析,url_for反向解析

 

demo.py(视图路由):

# coding:utf-8

from flask import Flask, redirect, url_for

app = Flask(__name__)


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


# 通过methods限定请求方式 (默认只能通过GET方式请求)
@app.route("/my_page", methods=["GET", "POST"])
def my_page():
    return "my page"


@app.route("/hello", methods=["POST"])
def hello():
    return "hello 1"


@app.route("/hello", methods=["GET"])
# 根据不同的请求方式,匹配不同的视图函数
def hello2():
    return "hello 2"


@app.route("/hi1")
@app.route("/hi2")
# 多个url可以匹配相同的视图函数
def hi():
    return "hi page"


@app.route("/login")
def login():
    # url = "/"
    # url反向解析,通过视图函数名找到对应的url路径
    url = url_for("index")
    return redirect(url)  # 重定向


if __name__ == '__main__':
    # 通过url_map可以查看整个flask中的路由映射信息
    print(app.url_map)
        # Map([ < Rule '/'(HEAD, OPTIONS, GET) -> index >,
        #       < Rule '/static/'(HEAD, OPTIONS, GET) -> static >])

    app.run(host="0.0.0.0", port=5000, debug=True)

 

 

你可能感兴趣的:(Python+)