NaotaЭто не спасет отца русской демократии ….
Беру свои слова назад) Кустомайзинг джанго админки очень радует.
NaotaЭто не спасет отца русской демократии ….
Беру свои слова назад) Кустомайзинг джанго админки очень радует.
regallНе соглашусь, в идеале шаблон вообще должен получать имя параметра и значение, в нем не должно быть известно как связаны объекты, и то что вы там делаете длинный путь это уже часть логики которой там не должно быть.
regall написал:
{{ <Словарь>.<объект>.<свойство>.<индекс> }}
По-моему тут чисто отображение и никакой логики.
EvgДа, а если таких свойств у моего ‘user’ - 1000 штук, мне что все поименно передавать?
В идеале даже лучше передавать например не user
а потом в шаблоне делать user.username
EvgНу, нужно мне отображать многоуровневые списки, так как мне это сделать. Самый классный вариант - словари, хуже - туплы туплов и т д.
в идеале шаблон вообще должен получать имя параметра и значение
regallв идеале да) иначе ваш шаблон будет жестко завязан на логику в кот учитываются все эти пути. И например в другом месте его уже не заинклудить.
Да, а если таких свойств у моего ‘user’ - 1000 штук, мне что все поименно передавать?
regallсудя по примеру вам нужно отображать не многоуровневые списки а иметь доступ из шаблона лазить по таким структурам, так вот такой логики в шаблонах не должно быть. Лучше шаблоны связывать с отображением одной сущности, а логику связей выносить в вид или в тег.
Ну, нужно мне отображать многоуровневые списки, так как мне это сделать. Самый классный вариант - словари, хуже - туплы туплов и т д.
Как мне в таких случаях поступать?
EvgИз этого примера да, а если нцжно отображать списки многоуровневые? Я с этой проблемой столкнулся, решал примерно следующим образом.
судя по примеру вам нужно отображать не многоуровневые списки
{<title1>:
{<title2>:
(<element1>,<elements2>, ..., <element n>, )}
}
{'title':<title1>, 'sublist':
{'title':<title2>,'sublist':(<element1>,<elements2>, ..., <element n>, )}}
regallнужно передовать не всю эту кашу, а просто начальный список объектов.
{'title':<title1>, ‘sublist’: {'title':<title2>,'sublist':(<element1>,<elements2>, …, <element n>, )}}
{% for o in objs1 %}
{{o.title}}
{%for o2 in o.getsublist%}
{{o2.title}}
{%for o3 in o2.getsublist%}
{{o3.title}}
{% endfor %}
{% endfor %}
{% endfor %}
EvgВообще-то, какая разница, какая задача? Есть средство и оно должно решать задачу…
У вас там выводы каких то мудренных статистик что-ли?
EvgДа, так и есть, это информация фактически “выдрана кусками” из самых различных частей БД в 100 таблиц, и иначе как словарем не получится (так как писать для 15 различных классов специально для шаблонизатора методы “getsublist”, уж увольте =)).
А вы как будто все это повыдрали кусками и зачем-то выдаете в словаре.
regallСмотря какая задача и какое средство)
Вообще-то, какая разница, какая задача? Есть средство и оно должно решать задачу…
regallА с бд вы тоже напрямую работайте, не через ОРМ джанги?)
Да, так и есть, это информация фактически “выдрана кусками” из самых различных частей БД в 100 таблиц
Evg
Смотря какая задача и какое средство)
EvgВидно вы только с сайтами-визитками сталкивались, в моем случае БД модифицируется/расширяется очень часто, если не будет правильнее сказать постоянно; порой приходится делать вот такие вот “выдирания из разных частей базы”, как ни прискорбно, но задачи такие, что от этого не уйдешь =(
А с бд вы тоже напрямую работайте, не через ОРМ джанги?)
regallА модели через которые идет работа с бд при этом у вас не меняются, я так понял?)
в моем случае БД модифицируется/расширяется очень часто