Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flask form post call-request.form是一个空的dict_Flask - Fatal编程技术网

Flask form post call-request.form是一个空的dict

Flask form post call-request.form是一个空的dict,flask,Flask,表单login.html: <form method="POST"> <input type="text" placeholder="username" required> <input type="password" placeholder="password" required> <button type="submit">Sign in</button> </form> <form me

表单
login.html

<form method="POST">
    <input type="text" placeholder="username" required>
    <input type="password" placeholder="password" required>
    <button type="submit">Sign in</button>
</form>
<form method="POST">
    <input type="text" placeholder="username" name="username" required>
    <input type="password" placeholder="password" name="password" required>
    <button type="submit">Sign in</button>
</form>

任何html表单都需要表单中输入的
name
参数才能
POST
ed,否则它们将不被处理

所以正确的html应该是
login.html

<form method="POST">
    <input type="text" placeholder="username" required>
    <input type="password" placeholder="password" required>
    <button type="submit">Sign in</button>
</form>
<form method="POST">
    <input type="text" placeholder="username" name="username" required>
    <input type="password" placeholder="password" name="password" required>
    <button type="submit">Sign in</button>
</form>

登录

现在,flask应该能够按名称和值对输入元素执行dict操作。

它返回空dict,因为您没有指定所请求对象的名称。您应该从html中指定名称:

在Python中,请使用以下内容:

request.form['username']
request.form.get('username')

而不是:
(request.form)

这也是一个值得关注的话题: