Request.form 在 pythonanywhere 中

Request.form in pythonanywhere

我想我可能在 Pythonanywhere 上错误地使用了 request.form。我有几个下拉菜单,在 html:

中看起来像下面这样
<span class="text" style="margin-left: 4px;">{{form.q1Text}}</span><br>
<select name="q1a" class="question">
{% for p in form.q1Opts %}
    <option value={{p}}>{{p}}</option>
{% endfor %}
</select>

我传入一个表格,看起来像这样:

class questionForm(Form):
    q1Text = "This is a question?"
    q1Opts = ["Option A","Option B","Option C","Option D"]

提交表单后,我希望能够访问该人选择的选项,因此我执行以下操作:

answer = request.form["q1a"]

在这个特定示例中,我觉得我应该 "Option A" 从表单中返回。问题是我不知道。我回来了 "Option"。无论我输入什么选项都是如此;仅返回第一个单词(用户选择的单词)。我已经解决这个问题一段时间了,但我希望有人真正知道如何解决它并让我找回整个字符串。

哦,我觉得我应该指出选项在网页上显示正确。所以用户看到 "Option A"、"Option B" 等等,但是当我尝试阅读他们的回复时,我只得到第一个词是什么。

您似乎遗漏了 value= 属性周围的引号?

应该是:

<option value="{{p}}">{{p}}</option>