我刚刚开始在 django 中使用基于类的视图。但是有一个问题让我很困惑。我使用带有多线程开发服务器的 django 1.4.1 运行了以下代码片段。
class TestView(TemplateView):
template_name = 'test.html'
count = 0
mylist = [1, ]
def get(self, request, *args, **kwargs):
self.count += 1
self.mylist.append(self.mylist[-1] +1)
context = self.get_context_data(**kwargs)
return self.render_to_response(context)
def get_context_data(self, **kwargs):
context = super(TestView, self).get_context_data(**kwargs)
context['count'] = self.count
context['mylist'] = self.mylist
return context
模板只输出上下文变量 count 和 mylist。当这个视图被调用最多 5 次时,输出将如下所示:
count: 1
mylist: [1, 2, 3, 4, 5, ]
现在我很困惑。django 文档说,每个请求都有自己的单独的类实例。
那么如何将 mylist 扩展到多个请求呢?为什么计数变量没有增加?