Flask 未收到 HTML POST 数据

2024-03-26

@app.route('/', methods=['GET', 'POST'])
def login():
    if request.method == 'GET':
        if 'USER_TOKEN' in session:
            return make_response(render_template('index.html'))
        return make_response(render_template('login.html'))
    if request.method == 'POST':
        print 'data :', request.form
        return make_response(render_template('index.html'))

My HTML is

  <form class="form-horizontal" action="/" method="POST">
    <div class="control-group">
      <label class="control-label" for="email">Email</label>
      <div class="controls">
        <input type="text" id="email" placeholder="Email">
      </div>
    </div>
    <div class="control-group">
      <label class="control-label" for="password">Password</label>
      <div class="controls">
        <input type="password" id="password" placeholder="Password">
      </div>
    </div>
    <div class="control-group">
      <div class="controls">
        <button type="submit" class="btn">Sign In</button>
      </div>
    </div>
  </form>

当我从 HTML 页面提交数据时,我看到

data : ImmutableMultiDict([])

为什么数据缺失?


您缺少字段名称(这是ImmutableMultiDict,这就是为什么提交表单时它看起来是空的)。

change

<input type="text" id="email" placeholder="Email">

to

<input name="<whatever_email_name>" type="text" id="email" placeholder="Email">

and

<input type="password" id="password" placeholder="Password">

to

<input name="<whatever_password_name>" type="password" id="password" placeholder="Password">
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Flask 未收到 HTML POST 数据 的相关文章

随机推荐