【问题标题】:Passing multiple parameters in url using cherrypy使用cherrypy在url中传递多个参数
【发布时间】:2015-05-26 21:02:58
【问题描述】:

我想用这样的 url 发送 GET 请求 "/api/stats?ad_ids=1,2,3&start_time=2013-09-01&end_time=2013-10-01" 但我不知道如何挂载我的课程到这个网址。 我正在使用cherrypy mount方法和MethodDispatcher。 到目前为止,我设法从这个 url api/stats/1 调用 GET 方法。

还有哪些参数应该传递给 GET 方法?

如果有任何建议或意见,我将不胜感激?

以下是代码示例:

cherrypy.tree.mount(
    Ads(), '/api/stats',
    {'/':
        {'request.dispatch': cherrypy.dispatch.MethodDispatcher()}
    }
)


def GET(self,ad_id=None,*args, **kwargs):



    jsonData1={}


    jsonData = self.readData()

    counter2 = 0
    for item in jsonData:

        index = jsonData[item][2]


        if index==ad_id:

            jsonData1[counter2] = jsonData[item]
            counter2 += 1



    print jsonData1
    return ('Here is the stat %s')%(jsonData1)

提前谢谢你!

BR,

莫米尔

【问题讨论】:

    标签: python get httprequest cherrypy


    【解决方案1】:

    可以使用 GET 方法的关键字参数访问查询字符串。

    使用您的方法,您可以通过字典kwargs 访问它们。

    cherrypy.tree.mount(
        Songs(), '/api/stats',
        {'/':
            {'request.dispatch': cherrypy.dispatch.MethodDispatcher()}
        }
    )
    
    def GET(self,ad_id=None,*args, **kwargs):
        start_time = kwargs.get('start_time', None)
        end_time = kwargs.get('end_time', None)
        # you can also use kwargs['XXX']
        # or do lookups with 'XXX' in kwargs
        # or set (start_time=None, end_time=None) at the signature
        # as a keyword argument.
        jsonData1={}
        jsonData = self.readData()
        counter2 = 0
        for item in jsonData:
            index = jsonData[item][2]
            if index==ad_id:
                jsonData1[counter2] = jsonData[item]
                counter2 += 1
        print jsonData1
        return ('Here is the stat %s')%(jsonData1)
    

    另外,*args 将包含 URL 的任何附加段的任何位置参数,例如 /api/stats/1/a/b/c 将创建 args=('a', 'b', 'c')

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-21
      • 2012-06-12
      • 1970-01-01
      • 2021-09-12
      相关资源
      最近更新 更多