如何将单选框的输入存储到数据存储中

0 投票
2 回答
1961 浏览
提问于 2025-04-16 13:24
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)。

撰写回答