所以当我运行时:
class query:
def GET(self, query, page = 1):
size = 40
results = es.search(index=conf.es_video_index, body={"size":int(size),
"from":int(size)*(int(page)),
"query":{
"match": {
"title": query,
}
}
})
我有这个错误:
invalid literal for int() with base 10:
有人可以向我解释原因吗?
答案 0 :(得分:2)
现在也许你的问题更多的是关于为什么page
不是整数。我可以猜测你的url处理钩子是这样的:
"/(\w*)/(.*)", "query"
在这种情况下,query
类GET
方法有两个参数:第一个是query
参数,第二个是page
参数。
这只是一个很长的镜头但是如果你没有提供关于你的网址处理的任何信息以及引发异常的页面网址,我们可以猜出问题出在哪里。
如果问题确实是
有人能解释我为什么吗?
答案是因为page
不是有效的整数文字字符串。这意味着它不是int
或不是可以转换为int
的字符串。请遵循一些不是文字字符串的示例:
'abc'
'1.2'
None
o
,其中str(o)
不是有效的文字整数我只考虑page
,因为size
已经是一个整数,int(size)
不能引发任何异常。