Получение параметра поиска из HTML в функцию Python Flask - PullRequest
0 голосов
/ 15 апреля 2019

довольно плохо знаком с флягой и ajax, и мне было интересно, могу ли я получить какую-нибудь помощь.Я использую python-twitter и хочу иметь возможность ввести параметр поиска, который будет искать в твиттере запрошенные слова / слова.

Я пробовал несколько решений, и я и мой друг, и я не вижу, гдеэто идет не так.Я вижу, что переменная поиска хранится в ajax через console.log, но я не могу заставить ее передать эту переменную в функцию twitter, которая будет искать переменную.

Вот мой ajax:

            $('#form').on('submit', function(e){
                var search = $('#search').val();
                e.preventDefault();
                $.ajax({
                    url: '/twitter',
                    data: {'search': search},
                    method: 'Get',
                    success: function(result) {
                        // twit(data)
                        console.log(search)
                    }
                });
            });

И мой Twit () По запросу

@app.route('/twitter', methods=['GET', 'POST'])
def twit():

    tempo =  request.form['search']
    searched = "Yes"
    searched = request.args.get('search1')
    # searched = request.form.get('number')
    print(searched, file=sys.stderr)

    api = twitter.Api(\
            consumer_key='TWVxfrliliibQxjNWz4tAlDIj',
            consumer_secret='QK2IBqNorysgD3quaBJVCMDdMApOpo5fW5g6Pl4Di97ToRjsGy',
            access_token_key='3011394611-QmeEQ5yaL6OJTOmqemXV3eS0DpE09P0sy64XhnL',
            access_token_secret='tEMygLkKBDwfVepHAg7G9BI7N8VQJM7U9KKefpV40jUq1'
        )
    count = "10"
    data = api.GetSearch(
    raw_query=  'q='+str(searched)+'&'
                'count='+str(count)+'&'
                'lang=en&'
                'tweet_mode=extended&'
                #'geocode=51.4027029,-0.3040634,10mi' #kington
    )

    print(data)
    for i in data:
        print('---------------------------')
        if hasattr(i, 'retweeted_status'):
            print(i.user.name + ': ' +  i.full_text)
        else:
            print(i.user.name + ': ' +  i.retweeted_status.full_text)

    return(render_template('Twitter.html', d=data))

if __name__ == '__main__':
    app.run(debug=True) 

Вот форма

                    <form method="get" id="form">
                            <label for="search">Enter Search Parameter : </label>
                            <input type="text" id="search" name="search" autofocus autocomplete="off">
                            <button>Post</button>
                    </form>

Страница должна быть обновлена ​​с использованием искомого термина.

Извините, если есть очень очевидная ошибка

...