瓶:未定义全局变量'请求'

时间:2014-09-03 23:46:21

标签: python python-2.7 openshift bottle

我正在使用python创建基于Web的应用程序,用户输入搜索查询并返回数据。我用瓶子为此提供了web框架。然后使用Openshift在线发布。这是一个简单的帖子表格,然后在下一节中使用搜索条件:

@route('/')
def search():
    return '''
        <h1 align="center">Twitter Sentiment Analysis</h1>
        <p align="center">Enter what you would like to search in the search box below</p>
            <form action="/result" method="post" align="center">
                Search: <input name="search" type="text" />
                <input value="Search" type="submit" />
            </form>
        '''

@route('/result', method='POST')
def result():
    search = request.forms.get('search')
    return 'it worked'    

当使用瓶子并对其进行测试时,它工作正常,但当我尝试将其部署到OpenShift时,我收到名称错误,&#34;全局变量&#39;请求&#39;没有定义&#34;在进行测试时,在部署到openshift之前,它只与瓶子完美配合,有没有人知道为什么会这样?

1 个答案:

答案 0 :(得分:6)

您好像没有将请求或路由导入命名空间:

from bottle import get, post, request # or route

@get('/login') # or @route('/login')
def login():
    return '''
        <form action="/login" method="post">
            Username: <input name="username" type="text" />
        ...        
    '''

@post('/login') # or @route('/login', method='POST')
def do_login():
    user = request.forms.get('username')
    pass = request.forms.get('password')
     ...