我已經建立了Django的類的簡單模型,在models.py我:模板語法來顯示Django的類別麪包屑
class Article(models.Model):
title = models.CharField(max_length=120)
# ...
category = models.ForeignKey('categories.Category')
在我的views.py我有
class IndexView(generic.ListView):
template_name = 'blog/index.html'
context_object_name = 'latest_article_list'
paginate_by = 25
def get_queryset(self):
return Article.objects.order_by('pub_date').filter(category_id=2)
在我的模板 '博客/ index.html的' 我有:
{% load category_tags %}
...
{% for blog in latest_article_list %}
<li><a href="/uphero/{{ blog.id }}">{{ blog.title }}</a></li>
{% endfor %}
...
我已經創建了三個類別:
blog
|-- sub1
|-- sub2
|-- foo
|-- bar
我有兩個問題:
在我的views.py我以前
.filter(category_id=3)
返回文章blog > sub2 > foo
下,我真的想用.filter(category='foo')
代替,但Django的報告「無屬性 類別「錯誤,是否有解決方案使用文本版本類別名稱 而不是由id
?我想在頁面頂部創建一個麪包屑路徑,例如:
blog > sub2 > foo
這樣的:類別名稱可鏈接;如果類別包含子類別,則顯示子類別列表;如果該類別不包含子類別,則顯示該類別下的文章列表。
我在這裏研究文檔https://django-categories.readthedocs.org/en/latest/reference/templatetags.html#breadcrumbs-tag但無法確定正確的語法。
有人可以幫我解決這些問題嗎?
謝謝。