将来自 HTML 表单的用户输入作为 Python 脚本的变量

Taking user input from HTML form as a variable for Python script

我正在 Python/Flask 中创建一个 Web 应用程序以使用 tweepy API 显示推文。我已经设置了一个 HTML 表单,并获得了用于查找具有特定输入的推文的脚本,目前,这是硬编码的。我希望用户输入主题标签或类似标签,然后在提交时将脚本提交到 运行,并将其作为参数

我创建了一个表单,使用方法 GET 和操作 运行 脚本。

<form class="userinput" method="GET" action="Tweepy.py">
    <input type="text" placeholder="Search..">
    <button type="submit"></button>
</form>

我不知道如何让用户输入并将其存储在变量中以用于 tweepy 代码,我们将不胜感激任何帮助

templates/index.html

<form method="POST">
    <input name="variable">
    <input type="submit">
</form>

app.py

from flask import Flask, request, render_template
app = Flask(__name__)

@app.route('/')
def my_form():
    return render_template('index.html')

@app.route('/', methods=['POST'])
def my_form_post():
    variable = request.form['variable']
    return variable

我猜你已经设置了 运行 那个脚本的端点,URL 映射到一个函数。在这种情况下,您需要从表单操作中调用它。

例如

@app.route('/my-function')
def your_function(parameters):
    "code to do something awesome"
    return "the result of your function"

因此,在您的表单中,您应该:

<form class="userinput" method="GET" action="/my-function">
    <input type="text" placeholder="Search..">
    <button type="submit"></button>
</form>

这应该可以解决问题。

前往 Flask home page 查看更多示例。