Оптимизация шаблонов Django - PullRequest
0 голосов
/ 15 мая 2018

Со списком диктов, содержащих в общей сложности более 30 000 значений и выглядящих примерно как

[
    {
        "line": "First Item",
        "data": {"2019-01-01": 1234, ..., "2040-01-01": -3123}
    },
    {
        "line": "Second Item",
        "data": {"2018-01-01": 1512, ..., "2037-12-01": -4123}
    },
]

и вызывающим 10-15 шаблонных тегов на значение для вызовов от 300k до 500k шаблонных тегов, моя производительность при рендерингезапрос существенно ухудшился.

Мои теги шаблона делают такие вещи, как получение значения из data заданной даты, номер формата с определенной строкой формата, которая различна для каждой строки, формат для отрицательных чисел или нулей и т. д.

Чтобы сделать код более читабельным и сделать СУХОЙ, я также делаю много вложенных шаблонов, что приводит к более чем 12 000 обращений к шаблону рендеринга.

Кажется, я выбрал

  • Уменьшить количество включаемых шаблонов
  • Возвращать данные проще для анализа и требовать меньше вызовов тегов шаблонов.Это работает только до определенного момента.
  • Возврат отформатированных данных или даже фрагментов HTML вместо вызова тегов шаблона
  • Сделайте что-нибудь еще - и я не знаю, что-то еще

Я ищу указатели / способы решения огромной проблемы с производительностью, которую я создал для себя.

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