-1

我有一个非常简单的金字塔/塔网络应用程序,只有一个页面(主页)在 home.pt 模板上详细说明,如下所示:

 <form action="/" method="post" accept-charset="utf-8" enctype="multipart/form-data">
<fieldset>
<div>
<input type="radio" name="myradio" value="left" id="choice1"/>
<label for="choice1">Choice1</label>
<input type="radio" name="myradio" value="right" id="choice2"/>
<label for="choice2">Choice2</label></div>
<p>Form Controls</p>
<input type="submit" name='form.submitted' value="Submit"/>
<input type="reset" value="Reset"/>
</fieldset>
</form>

这是与之关联的视图配置:

@view_config(route_name='home', renderer='templates/home.pt')
def home(request):
    choices=random.sample(ranges.items(),2)
    choice1=choices[0]
    choice2=choices[1]
    output=request.GET["myradio"]
    return {'choice1':choice1,'choice2':choice2, 'output':output, "myradio":myradio}

这给了我一个简单的KeyError: 'myradio'.

编辑:如果我需要更多细节,请不要犹豫。

4

2 回答 2

1

您应该能够做到request.POST.get('myradio'),这将根据选择的情况返回“左”或“右”。

于 2013-10-16T20:52:07.217 回答
0

好的,这就是我所做的修复它。

代替

output=request.GET["myradio"]

我现在有

post_data=request.POST
output=post_data.get('myradio')

当然,我还必须将表单更改为获取表单(在问题上方更新)

如果我选择左按钮并提交,则输出“左”,如果选择右按钮并提交,则输出“右”。

于 2013-10-17T03:30:33.740 回答