如何在使用 Python 和烧瓶时找到 HTML 单选按钮的值?

Posted

技术标签:

【中文标题】如何在使用 Python 和烧瓶时找到 HTML 单选按钮的值?【英文标题】:How to find value of HTML radio button in using Python and flask? 【发布时间】:2017-04-22 17:56:39 【问题描述】:

所以我创建了以下带有单选按钮的表单,通过“POST”提交:

<form style="margin: auto">
            <label>
              <input type="radio" name="activity" value="0"/>sedentary
            </label>
            <label>
              <input type="radio" name="activity" value="1"/>lightly active (1-3 days a week)
            </label>
            <label>
              <input type="radio" name="activity" value="2"/>moderately active (3-5 days a week)
            </label>
            <br>
             <label>
              <input type="radio" name="activity" value="3"/>heavy exercise (6-7 days a week)
            </label>
            <label>
              <input type="radio" name="activity" value="4"/>very heavy exercise (exercising twice a day or working physical job)
            </label>
          </form>

我的问题是我不知道如何在我的 Python 代码中访问它的结果。我能够访问通过同一页面上的文本表单提交的值,所以我认为我的 POST 不是问题(我使用的是 Flask,所以 request.form.get("field") 在那里解决了问题) .研究表明,之前有人建议过“request.form['activity']”,但这会导致404错误;人们还建议使用“request.form.get('activity','1'),但无论是否按下单选按钮,它都只会返回值 '1'。

任何帮助将不胜感激!

【问题讨论】:

不是 Python 程序员,但在其他应用程序中 request.form.get("activity") 将返回所选单选按钮的值。 据我了解,只有选中的单选按钮与表单一起提交。如果没有选中单选按钮,则值为 null。 忘了说我也试过 request.form.get("activity") - 没用。 您是否尝试查看提交的原始表单(服务器端)以查看实际存在的内容? 不——不知道该怎么做/这意味着什么 【参考方案1】:

在您的 python 代码中,在表单中放入一个提交按钮(我们将其命名为“submit_button”)。

<input type="submit" name="submit_button">

然后使用这个:

if request.method='POST':
   if 'submit_button' in request.form:
      user_answer=request.form['activity']
      return user_answer

这将打印用户选择的任何内容。我在我的烧瓶 Web 应用程序中使用了它,它可以工作。

这也应该可以帮助您: flask handle form with radio buttons

【讨论】:

以上是关于如何在使用 Python 和烧瓶时找到 HTML 单选按钮的值?的主要内容,如果未能解决你的问题,请参考以下文章

Python:如何在烧瓶中显示 matplotlib [重复]

如何从烧瓶网页在 python 控制台中打印数据

如何在 nginx 服务器中托管烧瓶(python)

您可以将 HTTPS 功能添加到 python 烧瓶 Web 服务器吗?

烧瓶-PyMongo。如何显示从 python 到 html 的所有条目?

如何从 python 烧瓶中的不同目录引用 html 模板