Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Django
  • » Custom template tag, как рендерить в разные шаблоны? [RSS Feed]

#1 Янв. 18, 2010 15:42:29

yegorkowalew
От:
Зарегистрирован: 2010-01-18
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Custom template tag, как рендерить в разные шаблоны?

Здравствуйте, помогите пожалуйста. Нужно сделать что-то наподобии этого:

def Body(block_id):
if block_id>2:
templ = 'txt_blocks/txt_block_pict_right.html'
else:
templ = 'txt_blocks/txt_block_pict_left.html'
return {'id':block_id}
register.inclusion_tag(templ)(Body)
Тоесть я хочу в зависимости от ситуации рендерить свой тег в разные шаблоны.
В официальной документации не разобрлся, гугел тоже не помог. Было бы очень хорошо увидеть такой короткий, но только работающий код. Зарание благодарен



Офлайн

#2 Янв. 18, 2010 21:50:56

wonderfulll
От:
Зарегистрирован: 2009-01-30
Сообщения: 72
Репутация: +  0  -
Профиль   Отправить e-mail  

Custom template tag, как рендерить в разные шаблоны?

{% ifequal block_id  1 %}
{% include "txt_blocks/txt_block_pict_left.html" %}
{% endifequal %}
{% ifequal block_id 2 %}
{% include "txt_blocks/txt_block_pict_left.html" %}
{% endifequal %}
Самое простое решение, сделать через темплейты.
Если используешь дев. версию Джанги то:
{% if block_id > 2 %}
{% include "txt_blocks/txt_block_pict_left.html" %}
{% else %}
{% include "txt_blocks/txt_block_pict_left.html" %}
{% endif %}
подробнее тут http://docs.djangoproject.com/en/dev/ref/templates/builtins/#if



Офлайн

#3 Янв. 19, 2010 04:40:45

yegorkowalew
От:
Зарегистрирован: 2010-01-18
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Custom template tag, как рендерить в разные шаблоны?

wonderfulll
{% ifequal block_id  1 %}
{% include "txt_blocks/txt_block_pict_left.html" %}
{% endifequal %}
{% ifequal block_id 2 %}
{% include "txt_blocks/txt_block_pict_left.html" %}
{% endifequal %}
Спасибо за совет, я об етом думал. Но считаю что такой вариант можно юзать только для себя. А если по правильному то думаю что у дизайнера должен быть один тег на подобии {{ block_tekst }} и никаких больше заморочек.

Решил сделать не так. Во вьюшке проходить по всем блокам, render_to_string в нужные мне шаблоны а потом уже отдавать на страницу полученый хтмл. Завтра, если кому интересно, постараюсь подробнее отписать…



Офлайн

  • Начало
  • » Django
  • » Custom template tag, как рендерить в разные шаблоны?[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version