如何将用户输入从HTML传递到python脚本

2024-09-29 23:30:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图从HTML表单中获取用户输入的“用户名”和“密码”,以便将它们输入到python脚本中并运行程序。我需要将request.form放在哪里才能接收这两个变量

app.py

from flask import Flask, render_template, url_for, request

app = Flask(__name__)


@app.route('/', methods=['POST', 'GET'])
def home():
    rh = Robinhood()
    rh.login(username="EMAIL", password="PASSWORD")
    projectpath = request.form['projectFilepath']
    return render_template('index.html')

index.html

<form action="{{ url_for('home') }}" method="post">
        <input type="text" name="projectFilepath">
        <input type="submit">
    </form>  

非常新的烧瓶和python,谢谢你的帮助


Tags: nameformappurlflaskhomeforinput
1条回答
网友
1楼 · 发布于 2024-09-29 23:30:18

在html中,在输入类型后面加上占位符和名称;以及一条可选但建议的错误消息(放在表单div之外);分别为“username”和“password”的每个方法提供其请求值。表单值:

<div class="form">
  <form action="" method="post">
    <input type="text" placeholder="Username" name="username" value="{{
      request.form.username }}">
     <input type="password" placeholder="Password" name="password" value="{{
      request.form.password }}">
    <input class="btn btn-default" type="submit" value="Login">
  </form>
  {% if error %}
    <p class="error">Error: {{ error }}
  {% endif %}
</div>

在python文件中,使用POST和GET方法将request.form放在/login下的if语句后面;包括新生成的错误消息:

@app.route('/login', methods=['POST', 'GET'])
def home():
error = None
if request.method == 'POST':
    if request.form['username'] != 'admin' or request.form['password'] != 'admin':
        error = 'Error Message Text'
    else:
        return redirect(url_for('home'))
return render_template('index.html', error=error)

相关问题 更多 >

    热门问题