2016-06-17 1 views
0

Я передаю число из HTML-формы в окно Flask, чтобы контролировать, сколько твитов я собираю с помощью Tweedy-слушателя. Тем не менее, слушатель просто продолжает собирать навсегда, а не останавливаться после того, как максимальное значение, которое я прошел. Если я устанавливаю максимальное значение вручную, он работает правильно. Как передать номер из формы слушателю?Tweedy StreamListener не получает номер из формы в окне Flask

@fetchtweet.route('/fetchtrainingtweets/', methods=["POST"]) 
def ttweets(): 
    ... 
    number = request.form['number'] 

    class Listener(StreamListener): 
     def __init__(self, api=None): 
      self.api = api or API() 
      self.n = 0 
      self.m = number 

     def on_data(self, data): 
      ... 
      if self.n >= self.m: 
       return False 
      ... 
    ... 
    stream = Stream(auth, listener()) 
    ... 

ответ

0

Вы пытаетесь сравнить строку с int. В Python 2 строки всегда больше чисел.

Все входные значения в HTML, независимо от типа ввода, являются строками. Таким образом, все данные Flask видны в виде данных - это строки. Вы должны преобразовать в номер самостоятельно.

number = request.form.get('number', type=int) 

 Смежные вопросы

  • Нет связанных вопросов^_^