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)



















