我剛開始在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? 爲什麼計數變量沒有增加?