开发者社区> 问答> 正文

Python瓶框架如何通过Decorator安装路由处理程序?

在python bottle框架下安装路由处理程序的示例如下:

from bottle import Bottle, run
app = Bottle()

@app.route('/hello')
def hello():
    return "Hello World!"

run(app, host='localhost', port=8080)

上面的代码会将“ localhost:8080 / hello”路由到显示“ Hello World!”的页面(由hello函数处理)。我不知道该安装过程如何完成?框架如何知道函数“ hello”使用“ app.route”作为其装饰器,从而将传入的请求分派给该函数?

展开
收起
祖安文状元 2020-02-22 16:07:33 541 0
1 条回答
写回答
取消 提交回答
  • 一个函数的名称并不意味着什么瓶,但只只要你提供的路径(或路径)来route装饰。

    Route的构造函数的参数包括callback和rule,其中callback您的函数rule是路径字符串。

    如果提供了一个或多个路径,那么Bottle将只Route为每个路径创建一个实例。

    如果您未提供的唯一路径,则函数名仅会起作用route。然后瓶会产生从函数的签名(见可能的路径来源的yieldroutes),并创建一个Route为他们中的每一个实例。

    相关部件从Bottle.route的来源:

    for rule in makelist(path) or yieldroutes(callback):
        for verb in makelist(method):
            verb = verb.upper()
            route = Route(self, rule, verb, callback, name=name,
                          plugins=plugins, skiplist=skiplist, **config)
            self.add_route(route)
    
    2020-02-22 16:07:40
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
From Python Scikit-Learn to Sc 立即下载
Data Pre-Processing in Python: 立即下载
双剑合璧-Python和大数据计算平台的结合 立即下载