В шаблоне записи выводятся в виде:

        <ul class="blog-posts">
Запись
Запись
Запись
        </ul>

        <ul class="blog-posts">
Запись
Запись
Запись

        </ul>

Можно ли реализовать такое в шаблонизаторе Django без разбиения queryset на части в вьюхе?

задан 09 Янв '12, 12:44

fixer's gravatar image

fixer
56712
Одобрено: 50%

изменено 10 Янв '12, 19:11

Все зависит от задачи.Уточните как именно вы хотите разбивать ? Шаблонизатор умеет не мало.

(10 Янв '12, 12:48) Berg ♦♦ Berg's gravatar image

к примеру вьюха: posts = Posts.objects.filter(visible=True)[:6] return render_to_response('page.html', {'posts': posts})

В шаблоне вывести эти данные через {% for post in posts %} не составило бы труда, но элементы по три шутки нужно добавлять в тег

    как показано выше. Стоит использовать cycle?

(10 Янв '12, 19:10) fixer fixer's gravatar image

в тег ul (парсер съел)

(11 Янв '12, 09:10) fixer fixer's gravatar image

В вашем случае поможет вот такая проверка:

<ul class="blog-posts">
{% for post in posts %} 
    {{ post }}
    {% if forloop.counter|divisibleby:'3' and not forloop.last %}
        </ul><ul class="blog-posts">
    {% endif %}
{% endfor %}
</ul>

код привел без тестирования, но должен работать .

Постоянная ссылка

отвечен 11 Янв '12, 16:16

Berg's gravatar image

Berg ♦♦
5565813
Одобрено: 77%

Ваш ответ
включить просмотр

Следить за вопросом

По Email:

После авторизации вы сможете подписаться на любые обновления здесь

По RSS:

Ответы

Ответы и комментарии

Основы Markdown

  • *italic* or _italic_
  • **bold** or __bold__
  • ссылка:[текст](http://url.com/ "заголовок")
  • изображение?![alt текст](/path/img.jpg "заголовок")
  • нумерованый список: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • основные теги HTML, также поддерживаются

Теги вопроса:

×19
×5

заданые вопросы: 09 Янв '12, 12:44

просмотренные вопросы: 4,269 times

последние обновления: 11 Янв '12, 16:16