show | version | enable_checker |
---|---|---|
step |
1.0 |
true |
- 上次了解到了
- 路由的方法
- 用装饰器 声明url
- 在将路由封装成函数
- 声明url的时候可以使用变量
- 然后将变量传入函数参数进行处理
- 一个大型应用可能有各种类型需要处理的url
- 都需要放在同一个hello.py中处理吗?
- 那hello.py会不会太长了
- 可以将网址
- 路由到 另一个py文件
- 进行处理吗?🤔
- 在项目的根目录下
- 建立reply.py
- reply.py
- 可以处理
/reply
路径
- 可以处理
from flask import Blueprint
app_reply = Blueprint("reply", __name__)
@app_reply.route('/reply')
def reply():
return 'oeasy redirects here o'
- app.py
- 是主程序
from flask import Flask
from markupsafe import escape
from reply import app_reply
app = Flask(__name__)
app.register_blueprint(app_reply)
if __name__ == "__main__":
app.run(debug=True)
- 在主程序的应用(app)中
- 注册了一个蓝图(blue_print)
- 将reply.py中的路由
- 作为 蓝图 注册到了
- app.py中
- 最终实现了
- 动态分配路由的效果
- 所有处理文件
- 都位于项目根目录
- 还是很杂乱
- 可以将 处理文件放在
- 不同的 文件夹底下吗?
- 在项目根下建立文件夹path
- 将reply.py移动到path下面
- 修改app.py如下图所示
- 最终效果
- 子路由 也被添加到了 规则中
- 这次 实现了
- 动态 分配路由的 效果
- 可以 把路由工作
- 动态地 分配给不同的文件 来处理
- 这样就 可以实现 模块封装 了
- 不同模块的 py文件
- 放到不同的 文件夹
- 路由规则中
- 始终有一个
- 映射到static文件夹的
- 路由
- 这如何理解?🤔
- 下次再说!👋