У меня простой вид, и я не понимаю, что не так с логи c. Я понимаю, что списки изменчивы, но это возвращает один и тот же объект при каждом ответе.
class IndexView(TemplateView):
data = []
def get(self, request, *args, **kwargs):
some_data: dict = some_method()
self.data.append(some_data)
return HttpResponse((self.data, f" {id(self.data)}"))
Когда новый запрос выполняет это представление, self.data
также содержит значение из предыдущего запроса. По каждому запросу self.data
содержит новую запись. Это для демонстрации, в реальном случае у меня есть список, определенный как переменная класса, и я добавляю в него словарь. Когда я обновляю страницу, я получаю старые значения в списке и один и тот же идентификатор объекта.
Вывод :
Визуализация страницы первого раза: [ 1] 139988074103112
Рендеринг страницы во второй раз: [1, 1] 139988074103112
Рендеринг страницы в третий раз: [1, 1, 1] 139988074103112
Я не могу понять, почему это происходит. Пожалуйста, помогите мне, ребята.