Я пытаюсь реализовать функцию, которая отображает 5 последних созданных событий. Я решил реализовать это с помощью специальных шаблонов шаблонов Django (если это не лучший способ, дайте мне знать). То, что я до сих пор:Пользовательский шаблонный тэг Queryset, не возвращающий ничего
В event_search.html (среди прочего):
{% extends 'base.html' %}
{% load eventSearch_extras %}
<p>count: {{ recents.count }}</p>
<ul>
{% for e in recents %}
<li> {{e.title}} </li>
{% empty %}
<li> No recent events </li>
{% endfor %}
</ul>
В eventSearch_extra.py:
from django import template
from eventSearch.models import Event
register = template.Library()
@register.inclusion_tag('eventSearch/event_search.html')
def mostrecentevents():
"""Returns most 5 most recent events"""
recents = Event.objects.order_by('-created_time')[:5]
return {'recents': recents}
Моя проблема здесь в том, что QuerySet 'Недавних' похоже, возвращает пустой шаблон. «count:» ничего не отображает. & По умолчанию для цикла «Нет недавних событий».
Это выглядит как чрезвычайно сложный способ делать вещи ... вы просто пытаетесь показать эти «ретентаты» на каждой странице? – Sayse
Нет, просто страница поиска. Каков наилучший способ? – user1846359
Просто включите их в контекстные данные просмотра страниц поиска? Я не уверен, что здесь что-то не хватает. – Sayse