接收空表格的烧瓶

新手上路,请多包涵

我正在尝试在 Flask 中设置一个简单的表格用于我自己的教育。我有一个带有此表单代码的 login.html 页面:

 <form action="{{ url_for('login') }}" method="post">
    <div>
        <label for="username">Username</label>
        <div>
            <input type="text" id="username" name="username" placeholder="Username">
        </div>
    </div>
    <div>
        <label for="password">Password</label>
        <div>
            <input type="password" id="password" name="password" placeholder="Password">
        </div>
    </div>
    <div >
        <input class="btn" type="submit">
    </div>
</form>

我正在使用如下代码接收它,但 Flask 返回一个空的 request.form 所以我无法处理它。

 @app.route('/login', methods=['GET', 'POST'])
def login():
    if request.method == 'POST':
        request.form['username']
        ...

我现在真的不想学习另一个库 (WTForms),而且我正在使用引导程序,所以这会增加头痛。我在 Flask/HTML 中没有看到什么?

原文由 semisight 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 222
1 个回答

我遇到了这个问题,但这是因为我忘记为我的输入元素分配一个 name 属性,而我试图通过 id 属性来引用访问表单数据

IE

HTML 和 Python 如下所示

HTML

 <input type="text" id="usernameTxtBx">

Python

 request.form['usernameTxtBx']

现在 做了什么:

HTML

 <input type="text" name="username" id="usernameTxtBx">

Python

 request.form['username']

我还需要确保我使用的是 POST 请求。一个 GET 请求在我的 python 代码中给了我一个空字典。

OP 没有犯这些错误。但这可能会帮助偶然发现此线程的人。

原文由 Resonance 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题