def test_page(grade_number, lesson_number): if is_logined(): # def rowdict(row): # d = {} # for column in row: # d[column.question_text] = column.definition # return d grade = dbSession.query(Grade).filter_by(id=grade_number).first() try: lesson = grade.lessons[lesson_number - 1] test = Test(user_id=g.user.id, title=lesson.title, question_count=len(lesson.questions), current_question=0, correct_answers=0, lesson_id=lesson.id) test.questions = lesson.questions question = test.questions[0] dbSession.add(test) dbSession.commit() return render_template('test_page/test_page.html', test_title=test.title, test_id=test.id, question=question) # return render_template('test_page/test_page.html' , test_id = test.id , question = question) except IndexError as e: print(e) return render_template('test_page/no_question.html') else: return redirect(url_for('verification.login'))
def first_term_random(grade_number): if is_logined(): grade = dbSession.query(Grade).filter(Grade.id == grade_number).first() first_lesson_id = grade.lessons[0].id size = int(len(grade.lessons) / 2) questions_list = dbSession.query(Question).filter( Question.lesson_id >= first_lesson_id, Question.lesson_id <= (first_lesson_id + size)).order_by(func.random()).limit(10).all() test = Test(user_id=g.user.id, title='مرور نیم سال اول', question_count=len(questions_list), current_question=0, correct_answers=0) test.questions = questions_list dbSession.add(test) dbSession.commit() question = questions_list[0] return render_template('test_page/test_page.html', test_title=test.title, test_id=test.id, question=question) else: return redirect(url_for('verification.login'))