Python笔记-Flask注册路由

app.route和app.add_url_rule和蓝图

 

 

app.route方式:

源码如下:

from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello World"

@app.route("/my")
def my():
    return "my page"

if __name__ == "__main__":
    app.run(host = "0.0.0.0", debug=True)

运行截图如下:

 

在路由中添加参数

from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello World"

@app.route("/my/<user_name>")
def my(user_name):
    return "my page %s" % (user_name)

if __name__ == "__main__":
    app.run(host= "0.0.0.0", debug = True)

运行截图如下:

通过app.add_url_rule方式

主要是绑定视图函数和视图类

如下代码

from flask import Flask
app = Flask(__name__)

def hello():
    return "Hello World"

def my(user_name):
    return "my page %s" % (user_name)

app.add_url_rule(rule = "/", view_func = hello)
app.add_url_rule(rule = "/my/<user_name>", view_func = my)

if __name__ == "__main__":
    app.run(host = "0.0.0.0", debug=True)

运行截图如下:

大型项目中都使用 蓝图 方式

如下代码:

from flask import Flask, Blueprint
app = Flask(__name__)

index_page = Blueprint("index_page", __name__)
@index_page.route("/")
def index_page_index():
    return "index page"

app.register_blueprint(index_page, url_prefix = "/it1995")

@app.route("/")
def hello():
    return "Hello World"

if __name__ == "__main__":
    app.run(host = "0.0.0.0", debug=True)

运行截图如下:

下面是分层的思想:

程序结构如下:

程序运行截图如下:

源码如下:

index_controller_1.py

from flask import Flask, Blueprint

index_1 = Blueprint("index_1", __name__)
@index_1.route("/")
def index_1_index():
    return "index page one"

@index_1.route("/my")
def index_1_my():
    return "index page one my"

index_controller_2.py

from flask import Flask, Blueprint

index_2 = Blueprint("index_2", __name__)
@index_2.route("/")
def index_2_index():
    return "index page two"

index_controller_3.py

from flask import Flask, Blueprint

index_3 = Blueprint("index_3", __name__)
@index_3.route("/")
def index_3_index():
    return "index page three"

index5.py

from flask import Flask
from tie.index_controller_1 import index_1
from tie.index_controller_2 import index_2
from tie.index_controller_3 import index_3

app = Flask(__name__)

app.register_blueprint(index_1, url_prefix ="/it1995")
app.register_blueprint(index_2, url_prefix ="/it1996")
app.register_blueprint(index_3, url_prefix ="/it1997")

if __name__ == "__main__":
    app.run(host = "0.0.0.0", debug=True)

 

  • 62
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT1995

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值