2
@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'))

HTML的是

  <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([])

为什么数据丢失?

4

1 回答 1

8

您缺少字段名称(这是 的键ImmutableMultiDict,这就是为什么提交表单时它似乎为空的原因)。

改变

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

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

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

<input name="<whatever_password_name>" type="password" id="password" placeholder="Password">
于 2013-04-23T04:47:13.390 回答