普通的字典傳遞
exam_list = examlist.objects.filter(id=exam_id)
title = exam_list[0]
return render(request, "exam/exam_question.html", )
對於queryset物件可以通過[索引進行]取值
}
queryset傳遞
exams = examlist.objects.all()
return render(request, "exam/exam_list.html", )
試卷名稱:}
元組傳遞
questions = question.objects.filter(course_id=exam_id)
question_list =
question_id_list =
for question in questions:
question_now = tuple(question_list)
question_count = len(question_now)
return render(request, "exam/exam_question.html", )
}.(}分) }
一般很少去將queryset變成list再換成tuple,皮一下的操作
傳遞字典
一般傳遞字典
dict=
return render(request, 'index.html', )
}:}
高階傳遞字典
def post(self, request, exam_id):
if request.session.get('user_info'):
exam_list = examlist.objects.filter(id=exam_id)
questions = question.objects.filter(course_id=exam_id) # 找到所有試題
question_id_list =
user_ans_dict = {}
for question in questions:
temp_score = 0
# 遍歷每一道題
for i in question_id_list:
# 根據編號找到使用者提交的對應題號的答案
user_ans = request.post.get(str(i), "")
# 獲取題號為 i 的題目元組物件
temp_question = question.objects.get(pk=i)
# 把正確答案與提交的答案比較
if temp_question.answer == user_ans:
temp_score += temp_question.score
user_ans_dict[i] = [user_ans, temp_question.answer]
state = 0
user_score.total = temp_score
return render(request, "exam/score.html", locals())
變數有點多就用locals來取,關鍵是我要用題號對應打出使用者的答案和標準答案,這裡我用了
user_ans_dict[i] = [user_ans, temp_question.answer]
字典裡加列表的形式儲存,然後前端獲取的話利用迴圈巢狀來獲取對應的題號裡的答案
您的答案是 },正確的答案為}
}裡使用 好像不可以,於是我就遍歷value,判斷迴圈次數(第一次迴圈題目後第一次迴圈字典相同),再取list裡的值。
辦法雖然笨了點但是也是實現出來了,以後有機會補上好一點的處理
JAVA資料傳遞
1 對於原始資料型別,也就是int long char之類的型別,是傳值的,如果你在方法中修改了值,方法呼叫結束後,那個變數的值沒用改變。2 對於物件型別,也就是object的子類,如果你在方法中修改了它的成員的值,那個修改是生效的,方法呼叫結束後,它的成員是新的值,但是如果你把它指向乙個其它的物件...
Intent資料傳遞
1 首先是activity的簡單跳 activity的切換一般是通過intent來實現的,intent是乙個activity到達另乙個activity的引路者,它描述了起點 當前activity 和終點 目標activity 乙個簡單intent實現如下 intent intent new inte...
Intent資料傳遞
1 首先是activity的簡單跳 activity的切換一般是通過intent來實現的,intent是乙個activity到達另乙個activity的引路者,它描述了起點 當前activity 和終點 目標activity 乙個簡單intent實現如下 intent intent new inte...