コード例 #1
0
 def handle(self, *args, **options):
     path = os.path.join(FIXTURES_PATH, "questions")
     print(path)
     files = [f for f in os.listdir(path) if os.path.isfile(os.path.join(path, f))]
     for f in files:
         with open(os.path.join(path, f)) as j_file:
             js = json.loads(j_file.read())
             print("Current category: %s" % js['category'])
             t = Theme()
             t.name = js['category']
             t.save()
             for q in js['questions']:
                 question = Question()
                 question.theme = t
                 question.question = q['question']
                 #q['answer'] = q['answer'].replace(u'Другое','').strip()
                 ans = q['answer'].upper()
                 ans = ans.replace('"','')
                 ans = ans.replace("'",'')
                 ans = ans.replace(u"«",'')
                 ans = ans.replace(u"»",'')
                 try:
                     if len(ans.split(' '))==1 and len(ans.split('.'))==1:
                         question.answers = ans
                         try:
                             question.save()
                         except Exception as e:
                             print(str(e))
                 except:
                     pass
コード例 #2
0
def question():
    question = Question()
    question.question = "test_question"
    question.answer_A = "A"
    question.answer_B = "B"
    question.answer_C = "C"
    question.save()
    return point
コード例 #3
0
def quiz():
    category = Category()
    category.name = "teste_category"
    category.save()

    question = Question()
    question.question = "test_question"
    question.answer_A = "test_A"
    question.answer_B = "test_B"
    question.answer_C = "test_C"
    question.save()

    quiz = Quiz()
    quiz.title = "test_quiz"
    quiz.category = category
    quiz.save()
    quiz.question.add(question)
    return quiz
コード例 #4
0
def add_question(request):
    if request.method == "POST":
        question = request.POST.get("question")
        option1 = request.POST.get("option1")
        option2 = request.POST.get("option2")
        option3 = request.POST.get("option3")
        option4 = request.POST.get("option4")
        answer = request.POST.get("answer")
        exam = request.POST.get("exam")
        q = Question()
        q.question = question
        q.option1 = option1
        q.option2 = option2
        q.option3 = option3
        q.option4 = option4
        q.answer = answer
        q.exam = Exam.objects.get(pk=int(exam))
        q.save()
        return HttpResponse("success")
コード例 #5
0
def add_questions(request, quizid):

    user = request.user
    if user.is_admin():

        quiz = Quiz.objects.get(quiz_id=quizid)

        if request.method == 'POST':

            q_type = strip_tags(request.POST.get('type'))
            ques = Question()
            ques.quiz = quiz
            ques.type = strip_tags(request.POST.get('type'))
            ques.marks = strip_tags(request.POST.get('marks'))
            ques.level = strip_tags(request.POST.get('level'))
            ques.time_limit = strip_tags(request.POST.get('time_limit'))
            ques.question = strip_tags(request.POST.get('question'))
            ques.negative = strip_tags(request.POST.get('negative'))

            # if Image is uploaded
            img = request.FILES.get('image')
            if img:

                ques.image = img
            else:
                print("\n\n\n\nNo File was uploaded\n\n\n\n")

            # if Code is added
            code = request.POST.get('code')
            if code:
                ques.code = code

            # if Question is subjective
            if q_type == 's':
                ques.subjective_answer = strip_tags(
                    request.POST.get('subjective_answer'))

            # Question is objective
            else:
                ques.option_A = strip_tags(request.POST.get('option_a'))
                ques.option_B = strip_tags(request.POST.get('option_b'))
                ques.option_C = strip_tags(request.POST.get('option_c'))
                ques.option_D = strip_tags(request.POST.get('option_d'))
                ques.correct = strip_tags(request.POST.get('correct'))

            ques.save()
            return JsonResponse({'kudos': "kudos"})

        # GET the page
        else:
            return render(request, 'add_questions.html', {
                'title': 'Add Questions',
                'quiz_data': quiz
            })
    # User Does not has sufficient permissions
    else:

        messages.info(
            request,
            'You do not have the permissions required to edit this quiz')
        return redirect('home')