举报投诉联系我们 手机版 热门标签 编程学
您的位置:编程学 > flask中蓝 Flask 用蓝构造URL

flask中蓝 Flask 用蓝构造URL

2023-05-05 02:18 Flask教程

flask中蓝 Flask 用蓝构造URL

flask中蓝

Flask是一个使用Python编写的轻量级Web应用框架。它具有简单而强大的功能,可以帮助开发者快速构建和部署Web应用。Flask中最重要的一个概念就是蓝图(Blueprints)。

蓝图是Flask中一个非常重要的概念,它可以帮助开发者将复杂的应用分解成多个独立的、可重用的部分。它允许开发者将应用分割成不同的部分,并将这些部分组合在一起以形成完整的应用。

from flask import Blueprint 
 
# 创建一个 Blueprint 对象 
bp = Blueprint('my_blueprint', __name__) 
 
@bp.route('/') 
def index(): 
    return 'Hello World!' 

上面代码中,我们使用 Flask 提供的 Blueprint 类来创建一个名为 my_blueprint 的蓝图对象。然后使用 @bp.route 装饰器来注册一个 URL 路径,并定义相应的处理函数 index()。这样就定义了一个 URL 路径 / ,当浏览器请求该 URL 时,就会执行 index() 函数,并返回字符串 “Hello World!”。

在 Flask 应用中,通常会有多个不同功能的控制器(Controller)文件(如 user.py、post.py 等文件)。如果不使用蓝图来管理这些文件中定义的函数和 URL 路径时,代码会非常冗余而难以维护。而使用 Flask 的蓝图机制时,可以将不同功能的函数和 URL 路径注册在不同的蓝图对象上面(如 user_bp、post_bp 等对象上面),然后在 Flask 应用中注册这些对象即可。

# user.py 文件 
from flask import Blueprint 
user_bp = Blueprint('user', __name__) 

@user_bp.route('/login') 
def login():   # 处理 /login 路径请求   ...   return 'Login Page'  

 # post.py 文件   from flask import Blueprint   post_bp = Blueprint('post', __name__)    @post_bp.route('/create')   def create():     # 处理 /create 路径请求     ...     return 'Create Page'   

 # app.py 文件   from flask import Flask   from user import user_bp   from post import post_bp    app = Flask(__name__)    app.register_blueprint(user_bp)    app.register_blueprint(post_bp) 

上面代码中我们在 user.py 和 post.py 文件中分别定义了 user_bp 和 post_bp 这两个 Blueprints 对象,然后在 app.py 文件法中法法法法法法法法将这两个 Blueprints 对象泊物化app对应app,最后就可以通过 http://localhost:5000/login 和 http://localhost:5000/create 来请求相应处理函数 login() 和 create() 的执衅衅衅衅衅衅衅衅衅衅衅衅衅衅.

Flask 用蓝图构造URL

当你想要从一个页面链接到另一个页面,你可以像通常一个样使用 ​url_for()​ 函数,只是你要在 URL 的末端加上蓝图的名称和一个点( ​.​ )作为前缀:

url_for("admin.index")

此外,如果你在一个蓝图的视图函数或是模板中想要从链接到同一蓝图下另一个端点, 你可以通过对端点只加上一个点作为前缀来使用相对的重定向:

url_for(".index")

这个案例中,它实际上链接到 ​admin.index​ ,假如请求被分派到任何其它的 admin 蓝图端点。

阅读全文
以上是编程学为你收集整理的flask中蓝 Flask 用蓝构造URL全部内容。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
相关文章
© 2024 编程学 bianchengxue.com 版权所有 联系我们
桂ICP备19012293号-7 返回底部