python:无法从webbrowser调用文件中的函数

时间:2018-02-10 11:24:30

标签: python csv bottle

我想在python中使用瓶子框架创建一个RESTful Web服务。在其中我有一个CSV文件,其中包含lat和lan的数据。每次有人从该文件中搜索特定的邮政编码时,我都会获取该数据并将其显示在浏览器上。 所以,我做到了这一点。

Sorry, the requested URL 'http://localhost:8080/getlocation?postcode=4000' caused an error:

在我的浏览器中出现错误

grid = GridSearchCV(estimator=model, param_grid=param_grid, n_jobs=-1)

我不知道我错在哪里。 任何人都可以帮助我!

3 个答案:

答案 0 :(得分:1)

您的路线为/getlocation/<postcode>,而不是/getlocation?postcode=<postcode>

答案 1 :(得分:0)

好像你是在浏览器中这样做的:

http://localhost:8080/getlocation?postcode=4000

你有没有尝试过:

http://localhost:8080/getlocation/4000 

答案 2 :(得分:0)

以下是路由[1]和查询参数[2]中的动态参数示例:

更新

import json
from bottle import route, request, response, run, template, abort, error

@error(500)
@error(404)
@error(400)
def error_handler(error):
    try:
        error_details =  {"error_code": error.status_code, "message":    error.body}
    except:
        error_details =  {"error_code": 500, "message": error.exception}
    return json.dumps(error_details)

"""
    Example of try catch with bottle abort to handle
    custom error messages in the 'error_handler' above.
"""
@route("/")
def index():
try:
    raise Exception('A generic exception')
except Exception as ex:
    abort(500, ex.args[0])

@route("/greet/<name>")
def greet(name):
    return template("Greetings <b>{{name}}</b>", name=name)

@route("/greet")
def greet():
    if 'name' not in request.query:
        abort(400, "'name' parameter is missing...")    
    return template("Greetings <b>{{name}}</b>", name=request.query['name'])

run(host='localhost', port=8080)

测试上面的代码: