如何将单选框的输入存储到数据存储中
template_values = {'Answer1':Answer1,
'Answer2':Answer2,
'Answer3':Answer3,
'Answer4':Answer4,
'Answer5':Answer5,
'QuestionText': QuestionText,
'address':address,}
path = os.path.join(os.path.dirname(__file__), 'QuestionPageOthers.html')
self.response.out.write(template.render(path, template_values))
HTML
<div><input type="RADIO" value={{Answer1}} name="answer" id="answer1"/>{{Answer1}}<span></span></div>
<div><input type="RADIO" value={{Answer2}} name="answer" id="answer2"/>{{Answer2}}<span></span></div>
<div><input type="RADIO" value={{Answer3}} name="answer" id="answer3"/>{{Answer3}}<span></span></div>
<div><input type="RADIO" value={{Answer4}} name="answer" id="answer4"/>{{Answer4}}<span></span></div>
<div><input type="RADIO" value={{Answer5}} name="answer" id="answer5"/>{{Answer5}}<span></span></div>
我正在做一个调查,想要记录有多少用户选择了不同的选项,就像上面的代码那样。第一部分我把答案传递给Django模板,并用单选按钮来构建调查。但是,我该如何检测哪个按钮被点击了呢?我需要记录每个按钮被选择的次数。不过,我该如何把结果传回给Python的请求处理程序呢?self.request.get("name")
在<input type="text">
中可以用,但在单选按钮中却不行。
2 个回答
0
template.html
<form method="post" action="some-view">
<div><input type="RADIO" value={{Answer1}} name="answer" id="answer1"/>{{Answer1}}<span></span></div>
<div><input type="RADIO" value={{Answer2}} name="answer" id="answer2"/>{{Answer2}}<span></span></div>
<div><input type="RADIO" value={{Answer3}} name="answer" id="answer3"/>{{Answer3}}<span></span></div>
<div><input type="RADIO" value={{Answer4}} name="answer" id="answer4"/>{{Answer4}}<span></span></div>
<div><input type="RADIO" value={{Answer5}} name="answer" id="answer5"/>{{Answer5}}<span></span></div>
...
</form>
views.py
def some-view(request):
if request.method == 'POST':
answer = request.POST['answer']
# then update your tally here
...
上面的代码应该是可以工作的,但这并不是我可以实现的方式。在这种情况下,使用 Django 表单会更有效率。
0
如果你的单选按钮在一个表单里,并且这个表单是通过POST方式发送到你的请求处理程序的,那么你可以这样获取选中的单选按钮的值:
select_answer = self.request.get('answer')
这和你在问题中提到的获取name
文本框输入的值很相似——你只需要把name
换成和单选按钮相关的名字(在这个例子中是answer
)。