Python 使用cherrypy在url中传递多个参数
我想发送GET请求,url如下“/api/stats?ad_id=1,2,3&start_time=2013-09-01&end_time=2013-10-01”,但我不知道如何将我的类装载到此url。 我使用的是cherrypy mount方法和MethodDispatcher。 到目前为止,我设法从这个url api/stats/1调用GET方法 我还应该向GET方法传递哪些参数 如果您有任何建议或意见,我将不胜感激 以下是代码示例:Python 使用cherrypy在url中传递多个参数,python,get,httprequest,cherrypy,Python,Get,Httprequest,Cherrypy,我想发送GET请求,url如下“/api/stats?ad_id=1,2,3&start_time=2013-09-01&end_time=2013-10-01”,但我不知道如何将我的类装载到此url。 我使用的是cherrypy mount方法和MethodDispatcher。 到目前为止,我设法从这个url api/stats/1调用GET方法 我还应该向GET方法传递哪些参数 如果您有任何建议或意见,我将不胜感激 以下是代码示例: cherrypy.tree.mount( Ads
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)
提前谢谢你
比尔
Momir可以使用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')