美文网首页
flask中注册路由的两种方式

flask中注册路由的两种方式

作者: 转身丶即天涯 | 来源:发表于2018-07-13 00:25 被阅读59次

    最常见的一种注册方式就是使用装饰器注册路由,比如@app.route('/hello')。这样在浏览器中访问127.0.0.1/hello就能看到页面了,下面我们介绍另外一种方式。


    通过app实例来注册路由。

    from flask import Flask
    
    app = Flask(__name__)
    
    @app.route('/hello')
    def hello():
        print("has called hello function.")
        return 'hello, nzh.'
    
    def hello_two():
        print("换一种注册路由的方式")
        return 'hello, nzh'
    
    app.add_url_rule('/hello_two', view_func=hello_two)
    
    app.run(debug=True)
    

    通过Flask的实例app的add_url_rule()方法也能达到同样的效果。
    我们可以跳转到add_url_rule()方法中看一下它是如何定义的。


    image.png

    在函数的注释文档中我们可以清晰的看到,“工作方式类似于app.route装饰器”还有“如果view_func参数被提供的话,endpoint也会被注册”。
    所以,我们使用这个方式的时候传两个参数就够了,路由和对应的方法。

    什么时候会用到add_url_rule()?

    当你想使用类视图(也有叫“即插视图”的)的时候,必须使用这种方式来注册路由。

    至于endpoint是什么,暂时我只知道是flask管理url和对应函数的映射表。

    相关文章

      网友评论

          本文标题:flask中注册路由的两种方式

          本文链接:https://www.haomeiwen.com/subject/zfpdpftx.html