Django 資料傳遞 個人彙總貼

2022-02-28 13:12:54 字數 2105 閱讀 4642

普通的字典傳遞

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...