2010-10-10 4 views
0

Je travaille avec une application de quiz django où une question par page. Quand je vais répondre à une question en sélectionnant un bouton radio et cliquez sur le bouton Envoyer comment puis-je obtenir la question suivante à la page suivante ainsi que la réponse sera soumise à la base de données. Si quelqu'un m'aide, ce serait une solution exceptionnelle pour moi. S'il vous plaît J'ai écrit une vue pour obtenir la question et rendre la réponse dans le lien radio. mais quand je soumets la réponse comment puis-je mapper l'URL pour obtenir dynamiquement nouvelle question chacun. Merci beaucoup. J'ai besoin d'une solution plus simple s'il vous plaît ..comment puis-je obtenir un formulaire/page suivant lors de la soumission de chaque formulaire?

Répondre

0

Vous pouvez utiliser HttpResponseRedirect pour pointer de la page actuellement soumise à la suivante. Par exemple (pour simplifier, je suppose que vous avez un modèle de question qui pointe à la question suivante pour chaque question):

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}) 
+0

Merci beaucoup pour donner cette réponse précieuse. – paul

Questions connexes