在pythonanywhere

时间:2015-07-02 04:22:30

标签: forms web request 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"]

在这个特定的例子中,我觉得我应该从表单中获得“选项A”。问题是我没有。我回来了“选项”。无论我选择什么,都是如此;只返回第一个单词(用户选择的单词)。我已经解决了这个问题已经有一段时间了,但是我希望有人真的知道如何修复它并让我回到整个字符串。

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

1 个答案:

答案 0 :(得分:4)

看起来你错过了value=属性的引号?

应该是:

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