我正在使用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行之外的每个部分,看它是否正在拉取名称,并试图打印变量,并且它说变量是未定义的,所以问题出在哪里所在。有谁看到这个问题是什么?
答案 0 :(得分:0)
尽管是一个全局对象,request
仅在请求 - 响应周期中初始化,因此必须仅在路由函数内访问,而不是从模块的全局范围访问。