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)
发布了1286 篇原创文章 · 获赞 1975 · 访问量 180万+

猜你喜欢

转载自blog.csdn.net/qq78442761/article/details/104532973