как сохранить вход радио в хранилище данных - PullRequest
0 голосов
/ 10 марта 2011
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 голосов
/ 10 марта 2011

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 голосов
/ 10 марта 2011

Если ваши переключатели расположены внутри формы, отправляемой POST в ваш обработчик запросов, вы можете получить значение, связанное с выбранным переключателем, например:

 select_answer = self.request.get('answer')

Это очень похоже на то, как вы получили значение, введенное для текстового поля name, которое вы описали в своем вопросе - вы просто заменяете name на имя, связанное с элементами радиовхода (т. Е. В данном случае answer) ).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...