码迷,mamicode.com
首页 > 其他好文 > 详细

Flask路由

时间:2019-03-19 17:03:54      阅读:187      评论:0      收藏:0      [点我收藏+]

标签:nbsp   ring   ==   文件名   post   direct   for   方式   参数   

@app.route()

methods:当前url地址,允许访问的请求方式

@app.route("/info", methods=["GET", "POST"])
def student_info():
    stu_id = int(request.args.get("id"))
    return f"{stu_id}"  # Python3.6的新特性 f"{变量名}"

endpoint:反向生成url地址,默认为视图函数名,导入url_for

from flask import Flask, url_for

app = Flask(__name__)


@app.route("/index",methods=["POST","GET"],endpoint="index_s")
def index():
    return url_for("index_s")  #index

if __name__ == __main__:
    app.run(debug=True)

strict_slashes:url地址结尾符"/"的控制,默认为True:结尾不能的"/",False:无论结尾是否有"/"均可以访问

from flask import Flask, url_for

app = Flask(__name__)

#访问地址 /index
@app.route("/index",strict_slashes=True)
def index():
    return url_for("index_s")

#访问地址:/login 或 /login/
@app.route("/login",strict_slashes=False)
def login():
    return 欢迎

if __name__ == __main__:
    app.run(debug=True)

defaults : 视图函数的参数默认值{"nid":1}

from flask import Flask, url_for

app = Flask(__name__)


@app.route("/index", defaults={"nid": 1})
def index(nid):
    print(nid)
    return "哈喽"


if __name__ == __main__:
    app.run(debug=True)

redirect_to:url地址重定向,301永久重定向,在进入视图函数之前跳转

from flask import Flask, url_for

app = Flask(__name__)


@app.route("/index", redirect_to="/login")
def index(id):
    print(id)
    return "光临"


@app.route("/login")
def login():
    return 欢迎


if __name__ == __main__:
    app.run(debug=True)

动态路由参数

接受文件名,返回文件

<int:id>:只能是数字

from flask import Flask, url_for

app = Flask(__name__)

@app.route("/index/<int:a>",) #访问 http://127.0.0.1:5000/index/1
def index(a):
    print(a)  # 1
    return "光临"

if __name__ == __main__:
    app.run(debug=True)

<string:str>:可以是数字也可以是字符串

from flask import Flask, url_for

app = Flask(__name__)


@app.route("/index/<string:str>",)
def index(str):
    print(str)
    return "光临"

if __name__ == __main__:
    app.run(debug=True)

也可以不用定义类型,默认接受字符串

from flask import Flask, url_for

app = Flask(__name__)


@app.route("/index/<name>",)
def index(name):
    print(name)
    return "光临"

if __name__ == __main__:
    app.run(debug=True)

 

Flask路由

标签:nbsp   ring   ==   文件名   post   direct   for   方式   参数   

原文地址:https://www.cnblogs.com/wanglan/p/10559314.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!