CherryPy:如果要将字典作为参数传递,html命令行语法是什么?

时间:2013-02-15 16:42:22

标签: python cherrypy

所以我构建了一个名为'echo'的简单的cherrypy函数来试图找出cherrypy发送给我的python函数的内容。例如:

http://djotjog.com/cp/echo/692-gg_org_id-2013-02-05.json/
RETURNS:
{'kw': {}, 'args': (), 'param_1': '692-gg_org_id-2013-02-05.json', 'param_2': None}

现在,这可能看起来很奇怪,但我想传递一本字典。这是一个html噩梦吗?例如:

这个函数需要两个参数。参数是可选的:

def some_function(filename, params = {'db':'bh-localhost','h':'sparse','branching':7})

通过cherrypy发送...

http://djotjog.com/cp/echo/692-gg_org_id-2013-02-05.json/{h:'branchy','branching':7,'db':'bh-localhost'}
RETURNS    
{'kw': {}, 'args': (), 'param_1': '692-gg_org_id-2013-02-05.json', 'param_2': "{h:'branchy','branching':7,'db':'bh-localhost'}"}

但是当我通过实际功能而不是回声时,它会告诉我:

404未找到。没有什么能与给定的URI相匹配。

这是因为字典是字符串而不是字典吗?传递字典可以做些什么?或者只是将其保留为个别参数?

1 个答案:

答案 0 :(得分:1)

尝试设置echo以接收可变数量的参数...

@cherrypy.expose
def echo(self, *args, **kwargs):
    return kwargs['param_1']

希望这有帮助。

安德鲁