def question_modify(request, quest_id, question_id=None, template='quest/question_modify.html'): quest = get_object_or_404(Questionnaire, pk=quest_id, owner=request.user) if question_id is None: question = Question() else: question = get_object_or_404(Question, pk=question_id) if request.method == 'POST': form = QuestionForm(request.POST, instance=question) formset = ChoiceFormSet(request.POST, instance=question) if form.is_valid() and formset.is_valid(): if question_id is None: question = form.save() question.questionnaire = quest question.save() else: form.save() formset.save() if 'action:save' in request.POST: return redirect("quest.views.questionnaire_modify", quest_id=quest.pk) else: return redirect("quest.views.question_modify", quest_id=quest.pk, question_id=question.pk) else: form = QuestionForm(instance=question) formset = ChoiceFormSet(instance=question) context = RequestContext(request) return render_to_response(template, {'form': form, 'formset': formset, 'quest': quest}, context_instance=context)
def add_submit(request): if request.POST: title = request.POST.get('testtitle') data = request.POST.get('data') enddate = int(request.POST.get('enddate')) jdat = json.loads(data) print json.dumps(jdat, sort_keys=True, indent=4, separators=(',', ':')) print title print enddate tobj = Test( name = title, creator=Teacher.objects.get(user=request.user), enddate=datetime.datetime.now() + datetime.timedelta(days=enddate) ) tobj.save() for q in jdat: ques = Question( qtype = str(q[u'type']), header = str(q[u'title']), ) ques.save() print "so far" for opt in q[u'options']: aopt = AnswerOption(text=opt[u'html']) print "so far far" aopt.save() ques.choices.add(aopt) if u'correct' in q: print "Correct answer",q[u'correct'][u'html'] right = AnswerOption(text=q[u'correct'][u'html']) right.save() ques.answer = right else: print "[WARNING] No Correct Answer" ques.save() tobj.questions.add(ques) tobj.save() return HttpResponse("")