Flask之路由(app.route)详解

目录

创建路由的两种方式

方式一

方式二

?反向生成URL

?注意事项 !!!

原因 :

解决 :

总结 :

自定义路由转换器

重定向


在讲创建路由之前先了解大致流程,工作本质

在 route 源码中

    def route(self, rule: str, **options: t.Any) -> t.Callable:
        """Decorate a view function to register it with the given URL
        rule and options. Calls :meth:`add_url_rule`, which has more
        details about the implementation.

        .. code-block:: python

            @app.route("/")
            def index():
                return "Hello, World!"

        See :ref:`url-route-registrations`.

        The endpoint name for the route defaults to the name of the view
        function if the ``endpoint`` parameter isn't passed.

        The ``methods`` parameter defaults to ``["GET"]``. ``HEAD`` and
        ``OPTIONS`` are added automatically.

        :param rule: The URL rule string.
        :param options: Extra options passed to the
            :class:`~werkzeug.routing.Rule` object.
   
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
`@app.route` 和 `@blog.route` 是 Flask Web 框架中的装饰器,用于定义路由和视图函数。 `@app.route` 是 Flask 应用程序对象 `app` 的装饰器,用于定义全局的路由和视图函数。它可以在应用程序的顶层中使用,用于处理整个应用程序的路由。例如: ```python from flask import Flask app = Flask(__name__) @app.route('/') def index(): return 'Hello, World!' if __name__ == '__main__': app.run() ``` 在上面的示例中,`@app.route('/')` 定义了根路径 `/` 的路由,并将其与 `index` 视图函数关联。 `@blog.route` 是蓝图对象 `blog` 的装饰器,用于定义特定模块或功能的路由和视图函数。蓝图是一种用于组织和管理 Flask 应用程序的模块化方式。通过使用蓝图,你可以将应用程序划分为多个模块,每个模块具有自己的路由和视图函数。例如: ```python from flask import Blueprint blog = Blueprint('blog', __name__) @blog.route('/') def index(): return 'Welcome to the blog!' @blog.route('/post/<int:post_id>') def show_post(post_id): return f'Showing post {post_id}' # 在应用程序中注册蓝图 app.register_blueprint(blog, url_prefix='/blog') ``` 在上面的示例中,`@blog.route('/')` 定义了蓝图 `blog` 的根路径 `/` 的路由,并将其与 `index` 视图函数关联。通过在应用程序中注册蓝图,并指定 URL 前缀为 `/blog`,我们可以将所有与博客相关的路由都放置在 `/blog` 路径下。 总结来说,`@app.route` 用于定义全局的路由和视图函数,而 `@blog.route` 用于定义蓝图的路由和视图函数。它们的区别在于作用范围和组织方式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值