2014-09-03 1 views
2

Я создаю веб-приложение с python, где пользователь вводит поисковый запрос, и данные возвращаются. Я использовал бутылку для обеспечения веб-фреймворка для этого. Затем 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, я получаю ошибка имени, «запрос глобальной переменной» не определен », когда при тестировании он отлично работал с бутылкой перед развертыванием в openshift, кто-нибудь знает, почему это может быть?

+1

Что это показать в журнальных файлах? – 2014-09-03 23:49:13

+0

NameError: global name'request 'не определен. – Donnacha

+0

Угадайте, что это из строки 'search = request.forms.get (search)'? – Donnacha

ответ

4

Похоже, вы не импортировали запрос или путь к пространству имен:

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') 
    ... 
+0

ты мужчина! что разобрал его, большое спасибо! – Donnacha