0
所以我有一個模板:的Django的模板極限輸出循環
{% for Chapter in latest_chapter_list %}
{% ifequal Chapter.manga|truncatechars:20 Manga.name|truncatechars:20 %}
{{Chapter.chapter}}
{% endifequal %}
{% endfor %}
型號:
class Manga(models.Model):
name = models.CharField(max_length=20,help_text='Name of the comic/manga')
class Chapter(models.Model):
manga = models.ForeignKey(Manga)
chapter = models.IntegerField(default=1, help_text='Number of a chapter')
所以,我想的是,模板將只顯示5個項目,而不是所有項目那通過了if。在正常的代碼中,我會添加一個臨時值來計算每個添加和稍後的重置次數,但是我對django很陌生,我不知道如何處理這個問題。 另外我不明白爲什麼我的if只適用於如果我將兩個名字縮短爲相等長度,儘管它們的長度應該相同,不是嗎?
而且我的看法:
def index(request):
latest_item_list = Manga.objects.all().order_by('-added_on')[:5]
latest_chapter_list = Chapter.objects.all().order_by('-chapter')
context = {'latest_item_list': latest_item_list,
'latest_chapter_list': latest_chapter_list
}
return render(request, 'Item/index.html', context)
任何幫助或建議,將不勝感激!
編輯,SOLUTION:取得了新的意見篩選列表:
latest_chapter_list_short = Chapter.objects.filter(chapter__lt=6)
,並通過它迭代的完整列表,而不是!
我曾考慮過這個問題,但是我無法正確地計算它,並且在模板中使用有限的循環似乎是一個更簡單的解決方案,但我認爲這是不可能的。 – Granitas