从烧瓶中的表单获取数据的问题

时间:2019-06-04 05:01:40

标签: python forms flask request

我基本上是在创建一个flask Web应用程序,该应用程序会从用户那里获取用户名并获取他/她的codeforces数据,但是在提取电子邮件ID时遇到问题 从表格。我得到的是用户名,而不是电子邮件ID。它们都位于html文件的一种形式标记中。

浏览器错误: werkzeug.exceptions.HTTPException.wrap..newcls:400错误的请求:KeyError:'email-id'

<form method="POST">
                        <div class="field">
                            <label class="label">Username:</label>
                            <div class="control">
                                <input class="input" type="text" placeholder="Enter Codeforces username" name="username" value="{{user.handle}}"></input>
                            </div>
                        </div>
                        <div class="has-text-centered">
                            <input class="button is-link" name="get-info" type="submit" value="Get Info">
                        </div>
                        <div class="field">
                            <label class="label">EMail id:</label>
                            <div class="control">
                                <input class="input" type="text" placeholder="Enter mail id" name="email-id" value="">
                            </div>
                        </div>
                        <div class="has-text-centered">
                            <input class="button is-link" name="get-mail" type="submit" value="Get Mail">
                        </div>
                    </form>


@app.route('/',methods=['GET','POST'])
def index():
    if request.method == 'POST':
        username = request.form['username']
        email_id = request.form['email-id']
        print(email_id)
        print(username)

1 个答案:

答案 0 :(得分:0)

编辑:

自我的第一个回复以来,您在示例中发布了更多代码。您需要括号而不是括号,然后在方法中添加“ .get”。

更改..

username = request.form['username']

到..

username = request.form.get('username')