request.forms.get无法使用bottle.py应用程序

时间:2017-12-04 04:55:50

标签: python request bottle

我正在使用bottle.py应用程序连接两个页面,一个HTML表单页面和一个结果页面,它采用表单响应(即名称),并将它们转换为我在字典中配对的相应值。

这是我尝试链接的HTML代码:

<select id = "sample">
               <option value = "Basketball">Basketball</option>
               <option value = "Golf">Golf</option>
               <option value = "Football">Football</option>

然后这是选择并将其转换为相应值

的地方
from bottle import request

top = request.forms.get('sample')
val = d[top]
answer = float[val]

然后这是我的瓶子应用代码

from bottle import default_app, route, post, template

@route('/')
def form():
    return template('form.html')

@post('/convert')
def convert():
    return template('result.html')

application = default_app()

然而,当我运行它时,它说KeyError:None。所以起初我以为这是我的字典的一个问题,但是当我单独运行字典时,它就像应该的那样打印。那么我注释掉除了request.forms.get行之外的每个部分,看它是否正在拉取名称,并试图打印变量,并且它说变量是未定义的,所以问题出在哪里所在。有谁看到这个问题是什么?

1 个答案:

答案 0 :(得分:0)

尽管是一个全局对象,request仅在请求 - 响应周期中初始化,因此必须仅在路由函数内访问,而不是从模块的全局范围访问。