每个提交表格时如何获得下一个表格/页面?

时间:2010-10-10 12:13:08

标签: django forms

我正在使用django测验应用程序,每页一个问题。当我回答一个问题时,选择一个单选按钮并单击提交按钮如何在下一页中获得下一个问题以及答案将提交给数据库。如果有人帮助我,对我来说这将是一个出色的解决方案。请 我写了一个视图来获取问题并在无线电链接中呈现答案。但是当我提交答案时,我如何映射网址以获得每个动态的新问题。非常感谢。 我需要一个最简单的解决方案..

1 个答案:

答案 0 :(得分:0)

您可以使用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})