def Question(): form = QuestionForm() conn = psycopg2.connect(database=ci.dbname, user=ci.dbuser, password=ci.dbpassword, host=ci.dbhost, port=ci.dbport) print("connected") cur = conn.cursor() cur1 = conn.cursor() #cur2 = conn.cursor() print("connected again") cur.execute( "select qnid, question, choicea, choiceb, choicec, choiced from questiondummy" ) print("fetch") #question=form.question.data question = cur.fetchall() #data from database form.question = question print("try to insert value") cur1.execute("select qnid,correctanswer from questiondummy") correct_answers = cur1.fetchall() print(correct_answers) new_answer = dict(correct_answers) print(new_answer) '''cur2.execute("select quizId from questiondummy") QuizId=cur2.fetchall() print(QuizId)''' '''form.question=[["Q1","Q1opt1","Q1opt2"],["Q2","Q2opt1","Q2opt2"]] print(form.question[0][0]) print(form.question[1][0]) #for qname in question: print(request.form.get(form.question[0][0])) res2 = request.form.get(form.question[1][0]) print(res2) res=request.form print(res) #print=request.form.get() #print(questionSet[0][0]) print("fetched")''' if request.method == 'POST': username = form.username.data print(form.username.data) #quizId=form.quizId.data quizId = 1 score = 0 print(question) print(form) for item in form.question: print(item) print(item[0]) user_answer = request.form.get(str(item[0])) print(user_answer) print(new_answer.get(item[0])) correctAnswer = new_answer.get(item[0]) Question_insertqry = "INSERT INTO quiz_response ( username, quizId, question, user_answer) VALUES (%s,%s,%s,%s)" Question_valuestoInsert = (username, quizId, item[0], user_answer) cur.execute(Question_insertqry, Question_valuestoInsert) #print("Inserted") conn.commit() if correctAnswer == user_answer: print("initial score") score = score + 1 print("total score %s" % (score)) count = cur.rowcount if count > 0: flash('Quiz result submitted', 'success') Score_insertqry = "INSERT INTO leaderboard (username, quizId, score) VALUES (%s,%s,%s)" Score_valuestoInsert = (username, quizId, score) cur.execute(Score_insertqry, Score_valuestoInsert) conn.commit() print("scores added") return redirect(url_for('LeaderBoard')) return render_template('loadQuestion.html', questionDisplay=form)