![](/img/trans.png)
[英]django categories: How to get children of a category using django-categories?
[英]Template syntax to display breadcrumb for django-categories
我在models.py中用django-categories建立了一個簡單的模型,我有:
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)
在我的模板'blog / 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
下的blog > sub2 > foo
,但我真的想使用.filter(category='foo')
,但是django報告“無屬性類別”錯誤,是否有解決方法使用文本版本類別名稱而不是id
?
我想在頁面頂部創建一個面包屑路徑,例如: blog > sub2 > foo
這樣:類別名稱是可鏈接的; 如果類別包含子類別,則顯示子類別列表; 如果該類別不包含子類別,則顯示該類別下的文章列表。
我在這里https://django-categories.readthedocs.org/en/latest/reference/templatetags.html#breadcrumbs-tag研究文檔,但無法確定正確的語法。
有人可以幫我這些嗎?
謝謝。
對於第一個問題,以下查詢應該起作用:
.filter(category__name="foo")
關於第二個問題,您將需要為每個類別創建一個視圖。 如果您已經完成此操作,請分享您的視圖和模板代碼,以便我們為您提供幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.