我相信前段时间我也遇到过类似的问题,不确定我的解决方案是最佳实践,但它确实实现了我的目标,即为每个用户创建一个datetime变量,得到调查的开始时间,我只需要在Get方法(survey start)中声明变量global,所以我可以把它传给Post方法(调查结束)。然后我可以比较开始时间和结束时间,并计算每个参与者回答调查所花的时间。在回顾之后,我看到了其他更简单的方法来达到同样的目标,不管怎样,下面是我使用的代码:
EmView类(DistanceMixin,registeredip,View):def __init__(self):
self.dhms = datetime.now()
def get(self, request):
# DHMS ==> Date Time Hour Minutes Seconds survey started
template_name = "survey/survey_section_a.html"
global DHMS_START
DHMS_START = self.dhms
context_data = {
"survey_form": survey_form,
}
return render(request, template_name, context_data)
def post(self, request):
dhms_start = DHMS_START
dhms_end = datetime.now()
dhms_survey_duration = dhms_end - dhms_start
# other codes not included...