Django переменная класса не уничтожается после ответа - PullRequest
0 голосов
/ 30 апреля 2020

У меня простой вид, и я не понимаю, что не так с логи 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

Я не могу понять, почему это происходит. Пожалуйста, помогите мне, ребята.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...