Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> использование list в темплэйтах - оптимальность? 
:(
    Опции темы
eqe
Дата 19.4.2009, 04:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 17.4.2009

Репутация: нет
Всего: нет



Здравствуйте,

Хотелось бы узнать насколько джанго оптимизирует обращение к функциям в темплэйтах - 

Например внутри template я вызываю функцию get_some_data которая возвращает list то есть скжем [ dict_number1, dict_number2, dict_number3 ]

и если в template творится что-то такое:
Код

{{get_some_data.1.name}}
.....<some more text and code>
{{get_some_data.2.name}}
....<some more text>
{{get_some_data.3.items.1}}

в реальност это приведет к 3 вызовам функции get_some_data или же ограничится одним - сохранит результат после 1го вызова и будет обращаться к нему далее без повторных вызовов?

Заранее спасибо.

Это сообщение отредактировал(а) Daevaorn - 19.4.2009, 10:04
PM MAIL   Вверх
Daevaorn
Дата 19.4.2009, 10:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2155
Регистрация: 29.11.2004
Где: Москва

Репутация: 3
Всего: 70



Цитата(eqe @  19.4.2009,  05:42 Найти цитируемый пост)
в реальност это приведет к 3 вызовам функции get_some_data или же ограничится одним - сохранит результат после 1го вызова и будет обращаться к нему далее без повторных вызовов?

А самому попробовать?smile

На самом деле нет, кеширования не произойдет. Это должен реализовать сам разработчик, если есть необходимость.
PM MAIL WWW   Вверх
eqe
Дата 20.4.2009, 02:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 17.4.2009

Репутация: нет
Всего: нет



Цитата(Daevaorn @ 19.4.2009,  10:06)
Цитата(eqe @  19.4.2009,  05:42 Найти цитируемый пост)
в реальност это приведет к 3 вызовам функции get_some_data или же ограничится одним - сохранит результат после 1го вызова и будет обращаться к нему далее без повторных вызовов?

А самому попробовать?smile

На самом деле нет, кеширования не произойдет. Это должен реализовать сам разработчик, если есть необходимость.

ну сам я на роль разработчика джанго не претендую - поэтму научиться всему что нужно проверить мне будет долго - то есть попробовать то я могу но вот отследить реальные обращения - не сумею


А вот по поводу кэширования - не очень понимаю как в темплейте можно сохранить объект и обращаться к нему несколько раз... есть какойнить пример кода?

Заранее спасибо.

На самом деле странно что не сохраняет - это же прощай оптимальность..
PM MAIL   Вверх
Daevaorn
Дата 20.4.2009, 11:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2155
Регистрация: 29.11.2004
Где: Москва

Репутация: 3
Всего: 70



Цитата(eqe @  20.4.2009,  03:33 Найти цитируемый пост)
ну сам я на роль разработчика джанго не претендую - поэтму научиться всему что нужно проверить мне будет долго - то есть попробовать то я могу но вот отследить реальные обращения - не сумею

Достаточно добавить какой-то отладочный консольный вывод в испытуемом методе.
Цитата(eqe @  20.4.2009,  03:33 Найти цитируемый пост)
А вот по поводу кэширования - не очень понимаю как в темплейте можно сохранить объект и обращаться к нему несколько раз... есть какойнить пример кода?

Например можно так:
Код

{% with obj.get_some_data as data %}
   {{ data.0 }}
   {{ data.1 }}
{% endwith %}

Цитата(eqe @  20.4.2009,  03:33 Найти цитируемый пост)
На самом деле странно что не сохраняет - это же прощай оптимальность.. 

"Не платить, за то что не заказывал"
То что метод возвращает всегда одно и тоже и что его можно закешировать - может определить только сам разработчик.

Это сообщение отредактировал(а) Daevaorn - 20.4.2009, 11:30
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Python: Веб-разработка и фреймворки | Следующая тема »


 




[ Время генерации скрипта: 0.0404 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.