【发布时间】:2019-11-03 15:49:59
【问题描述】:
所以我有这个模板上下文处理器:
from cases.models import CasePage
def random_case(request):
case = CasePage.objects.live().order_by('?')
return {'random_case': case}
在模板中我这样做:
{% for entry in random_case %}
{% if request.get_full_path != entry.get_url %}
{% if forloop.first %}
<a class="ajax-link project-next" href="{{ entry.get_url }}">
<div class="nav-project-title">{{ entry.title }}</div>
<div class="nav-title">next</div>
</a>
{% endif %}
{% endif %}
{% endfor %}
这可行,但问题是有时对象与页面相同,因此没有显示任何内容。如果该条目会被跳过以支持下一个条目,那就太好了。对我来说,模板中的逻辑也太多了。将此逻辑移入上下文处理器并使其工作的最佳方法是什么?
【问题讨论】:
标签: django django-templates wagtail