我是瓶子的新手。我用以下路线编写了一个应用程序:
@route('/search?<querystring>')
然而,对 URL 的 GET 请求
http://0.0.0.0:5000/search?query=test
抛出 404 错误。这可能与 URL 中的问号有关,但我不知道如何解决此问题。使查询字符串变量更大以包含问号是行不通的,因为它似乎只捕获通向问号的字符。有谁知道如何解决这个问题?
谢谢!
查询字符串不是路由的一部分。路由只是/search
,查询字符串可以从request.query
.
Bottle 的路由只会匹配 URI path。我认为你想要的是更多的东西:
from bottle import request
@route('/search')
def search():
query = request.params.get('query')
# foo = request.params.get('foo') # and so on
return 'Your query value was: {}'.format(query)
(正如@DanielRoseman 正确指出的那样,您可以使用request.query而不是request.params,但我通常使用后者。)