Как использовать пользовательскую переменную Flask-wtf для поиска API-интерфейса tweepy / twitter - PullRequest
0 голосов
/ 04 мая 2019

Я пытаюсь загрузить пользовательскую переменную, переданную из веб-формы из WTF-форм, в твиттер-интерфейс. Таким образом, пользователь отправляет имя пользователя на сайт, затем оно отправляется через API, а затем API возвращает данные пользователю на странице результатов. Например, страница результатов будет показывать количество подписчиков пользователя, которого они ищут. это где я так далеко, но не могу передать переменную в API. Однако от API пока ничего не получается.

bot.py

from flask import Flask, render_template, flash, redirect, url_for
from config import Config
from forms import LoginForm
import tweepy

app = Flask(__name__)
app.config.from_object(Config)

consumer_key = 'x'
consumer_secret = 'x'
access_token = 'x'
access_token_secret = 'x'

auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth)

@app.route('/', methods=['GET', 'POST'])
def login():
    form = LoginForm()
    if form.validate_on_submit():
        return redirect(url_for('results', result_data = form.username.data))
    return render_template('login.html', title='Home', form=form)

@app.route("/results/<result_data>")
def results(result_data=None):
    return render_template('results.html', title=result_data, result=result_data)

@app.route("/tweet")
def name_grab():
    user = api.get_user(results_data)
    return(user.screen_name, user.followers_count)

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

results.html

{% extends 'index.html' %}

{% block content %}
<h1>the screen name for @{{ result }} is {{ name_grab }}
{% endblock %}

Пока страница результатов возвращает это

отображаемое имя для @ user-input

нет ничего, где следует произносить имя экрана

...