- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当 http GET 请求发送到特定路由时,我尝试调用函数,但我想将参数传递给给定函数。例如,我有以下内容:
self.app.route('/here', ['GET'], self.here_method)
哪里self.here_method(self)
当 GET 请求发送到 /here
时调用路线。相反,我想调用方法 self.here_method(self, 'param')
。我怎样才能做到这一点?我试过self.app.route('/here', ['GET'], self.here_method, 'param')
,但它不起作用。我评论了this documentation ,但我找不到任何答案。
最佳答案
目前尚不清楚您是在询问如何将路线与闭包关联起来,还是只是与带有参数的函数关联起来。
如果您只想将参数作为 URI 的一部分,请使用 Bottle 的动态 path routing .
另一方面,如果您想“捕获”在路由定义时已知的值,并将其烘焙到路由处理程序中,则使用 functools.partial
.
这是两者的示例。
from bottle import Bottle
import functools
app = Bottle()
# take a param from the URI
@app.route('/hello1/<param>')
def hello1(param):
return ['this function takes 1 param: {}'.format(param)]
# "bake" in a param value at route definition time
hello2 = functools.partial(hello1, param='the_value')
app.route('/hello2', ['GET'], hello2)
app.run(host='0.0.0.0', port=8080)
及其输出示例:
% curl http://localhost:8080/hello1/foo
127.0.0.1 - - [11/Jul/2015 18:55:49] "GET /hello1/foo HTTP/1.1" 200 32
this function takes 1 param: foo
% curl http://localhost:8080/hello2
127.0.0.1 - - [11/Jul/2015 18:55:51] "GET /hello2 HTTP/1.1" 200 38
this function takes 1 param: the_value
关于 python 瓶: how to pass parameters into function handler,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31360386/
我收到以下错误: (virtualenv)[chirdeep@fedora-desktop ~]$ python programs/python/myrestapi.py Traceback (mos
我有一个问题。我安装了 pgadmin3。创建了一个编码为 UTF-8 的库。创建一个文件index.py: # -*- coding utf-8 -*- from bottle import rou
好吧,所以这可能有点不正统或者我只是愚蠢或两者兼而有之:) 我正在尝试一个非常简单的设置,我在一个 Process 实例中启动一个 bottle 服务器,并在另一个实例中启动一个小型 TFTP 服务器
当我尝试运行此示例中的服务器时,我可以看到它在正确的端口上运行。但是,无法从外部访问它(内部服务器错误),也无法通过常见方法在控制台中对其进行调试(看不到任何输出)。 我确定端口可用并且服务器正在运行
我想为 Sierra 创建一瓶 zsh 5.1.1,因为 zsh 5.2 有一个非常糟糕的错误,它破坏了某些功能。 Sierra 附带 zsh 5.2,它在多字节绑定(bind)键击中被破坏(参见:h
当 http GET 请求发送到特定路由时,我尝试调用函数,但我想将参数传递给给定函数。例如,我有以下内容: self.app.route('/here', ['GET'], self.her
我开始开发一个 Python 3.4 应用程序,用 Bottle 框架为一个小网站(主要是媒体库)提供服务。我正在使用 Bottle 的“简单模板引擎” 我有一个 YAML 文件,指向一个包含图像和其
自从 versions 被删除以来,我一直无法找到安装以前版本软件的方法。命令并点击 Homebrew。我在 2008 Mac Pro (3,1) 上运行 macOS 10.14.3 (Mojave)
我正在使用Bottle用于渲染网页的 Web 框架。我使用 Bottle 模板引擎从 Python 传递变量,然后在嵌入了 Python 代码的模板文件中对它们进行相应的处理。 现在,当我在模板中使用
@route('/locations', method='GET') def get_location(): entity = db['locations'].find({'coordinat
在使用 app.mount 时尝试在 URL 路径中使用特殊字符失败: http://127.0.0.1:8080/test/äöü 结果: Error: 400 Bad Request Invali
我最近收到了一个部分完成的项目,而且我对使用 Bottle 还不熟悉。我遇到过这样的情况:我在 AJAX 请求中发送字典,而 Bottle 位于服务器端。字典看起来像这样(在 JavaScript 中
我的服务器处理多个网站,其中大多数使用 Apache、PHP 等。 但其中一个 (www.mywebsite.com) 使用 Python Web 服务器,该服务器监听端口 8092。因此,此 Apa
我是一名优秀的程序员,十分优秀!