как я могу получить следующую форму / страницу при каждой отправке формы? - PullRequest
0 голосов
/ 10 октября 2010

Я работаю с приложением викторины Django, где один вопрос на страницу. когда я отвечу на один вопрос, выбрав переключатель и нажмите кнопку «Отправить», как я могу получить следующий вопрос на следующей странице, а ответ будет отправлен в базу данных Если кто-нибудь поможет мне, это будет выдающимся решением для меня. пожалуйста Я написал вид, чтобы получить вопрос и передать ответ по радио. но когда я отправляю ответ, как я могу отобразить URL, чтобы получить динамически новый вопрос каждый. Спасибо огромное. Мне нужно самое простое решение, пожалуйста ..

1 Ответ

0 голосов
/ 10 октября 2010

Вы можете использовать HttpResponseRedirect , чтобы указывать с текущей отправленной страницы на следующую. Например (для простоты я предполагаю, что у вас есть модель вопроса, которая указывает на следующий вопрос для каждого вопроса):

def view_question(request,id):
    q = Question.objects.get(id)
    if request.method == 'POST':
       form = QuestionForm(request.POST)
       if form.is_valid():
           # this takes care of saving the answer
           a = Answer.objects.create(user=request.user, question=q, a = form.cleaned_data['answer'])
           # this takes care of moving on to the next question
           if q.next_question != None:
               return HttpResponseRedirect(q.next_question.get_absolute_url())
           # no next question, finished quiz
           return HttpResponseRedirect('/done-quiz/')
    else:
       form = QuestoinForm()

    return render_to_response('quiz.html', {'form': form, 'question':q})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...