簡體   English   中英

顯示Django類別的面包屑的模板語法

[英]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

我有兩個問題:

  1. 在我的views.py中,我使用.filter(category_id=3)返回blog > sub2 > foo下的blog > sub2 > foo ,但我真的想使用.filter(category='foo') ,但是django報告“無屬性類別”錯誤,是否有解決方法使用文本版本類別名稱而不是id

  2. 我想在頁面頂部創建一個面包屑路徑,例如: 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM