关键词搜索

源码搜索 ×
×

Python笔记-Flask注册路由

发布2020-02-27浏览5054次

详情内容

app.route和app.add_url_rule和蓝图

 

 

app.route方式:

源码如下:

  1. from flask import Flask
  2. app = Flask(__name__)
  3. @app.route("/")
  4. def hello():
  5. return "Hello World"
  6. @app.route("/my")
  7. def my():
  8. return "my page"
  9. if __name__ == "__main__":
  10. app.run(host = "0.0.0.0", debug=True)

运行截图如下:

 

在路由中添加参数

  1. from flask import Flask
  2. app = Flask(__name__)
  3. @app.route("/")
  4. def hello():
  5. return "Hello World"
  6. @app.route("/my/<user_name>")
  7. def my(user_name):
  8. return "my page %s" % (user_name)
  9. if __name__ == "__main__":
  10. app.run(host= "0.0.0.0", debug = True)

运行截图如下:

通过app.add_url_rule方式

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

如下代码

  1. from flask import Flask
  2. app = Flask(__name__)
  3. def hello():
  4. return "Hello World"
  5. def my(user_name):
  6. return "my page %s" % (user_name)
  7. app.add_url_rule(rule = "/", view_func = hello)
  8. app.add_url_rule(rule = "/my/<user_name>", view_func = my)
  9. if __name__ == "__main__":
  10. app.run(host = "0.0.0.0", debug=True)

运行截图如下:

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

如下代码:

  1. from flask import Flask, Blueprint
  2. app = Flask(__name__)
  3. index_page = Blueprint("index_page", __name__)
  4. @index_page.route("/")
  5. def index_page_index():
  6. return "index page"
  7. app.register_blueprint(index_page, url_prefix = "/it1995")
  8. @app.route("/")
  9. def hello():
  10. return "Hello World"
  11. if __name__ == "__main__":
  12. app.run(host = "0.0.0.0", debug=True)

运行截图如下:

下面是分层的思想:

程序结构如下:

程序运行截图如下:

源码如下:

index_controller_1.py

  1. from flask import Flask, Blueprint
  2. index_1 = Blueprint("index_1", __name__)
  3. @index_1.route("/")
  4. def index_1_index():
  5. return "index page one"
  6. @index_1.route("/my")
  7. def index_1_my():
  8. return "index page one my"

index_controller_2.py

  1. from flask import Flask, Blueprint
  2. index_2 = Blueprint("index_2", __name__)
  3. @index_2.route("/")
  4. def index_2_index():
  5. return "index page two"

index_controller_3.py

  1. from flask import Flask, Blueprint
  2. index_3 = Blueprint("index_3", __name__)
  3. @index_3.route("/")
  4. def index_3_index():
  5. return "index page three"

index5.py

  1. from flask import Flask
  2. from tie.index_controller_1 import index_1
  3. from tie.index_controller_2 import index_2
  4. from tie.index_controller_3 import index_3
  5. app = Flask(__name__)
  6. app.register_blueprint(index_1, url_prefix ="/it1995")
  7. app.register_blueprint(index_2, url_prefix ="/it1996")
  8. app.register_blueprint(index_3, url_prefix ="/it1997")
  9. if __name__ == "__main__":
  10. app.run(host = "0.0.0.0", debug=True)

 

相关技术文章

点击QQ咨询
开通会员
返回顶部
×
微信扫码支付
微信扫码支付
确定支付下载
请使用微信描二维码支付
×

提示信息

×

选择支付方式

  • 微信支付
  • 支付宝付款
确定支付下载