を取得する:ジャンゴ/セキレイ/ taggit - 私はこれを見ているモデル固有のタグリスト
Generating a unique list of Django-Taggit Tags in Wagtail;
やソリューションが発生しているなどのタグすべて保存されたタグのリスト、すなわち画像、文書、。
私は同様の目標を達成しようとしています。ニュースインデックスページには、ニュースページタグのドロップダウンリストがあります。
私はニュースページのタグだけであるタグのリストを得ることはできません。現在、これは画像タグとドキュメントタグを含む私のサイトのすべてのタグのリストを私に提供します。
from django.template.response import TemplateResponse
from modelcluster.fields import ParentalKey, ParentalManyToManyField
from modelcluster.tags import ClusterTaggableManager
from taggit.models import TaggedItemBase, Tag
from core.models import Page
class NewsPageTag(TaggedItemBase):
content_object = ParentalKey('NewsPage', related_name='tagged_items')
class NewsPage(Page):
tags = ClusterTaggableManager(through=NewsPageTag, blank=True)
class NewsIndexPage(Page):
def serve(self, request, *args, **kwargs):
context['tags'] = Tag.objects.all().distinct('taggit_taggeditem_items__tag')
return TemplateResponse(
request,
self.get_template(request, *args, **kwargs),
context
)
私も試してみました:
from django.contrib.contenttypes.models import ContentType
# ...
def serve(self, request, *args, **kwargs):
news_content_type = ContentType.objects.get_for_model(NewsPage)
context['tags'] = Tag.objects.filter(
taggit_taggeditem_items__content_type=news_content_type
)
return TemplateResponse(
request,
self.get_template(request, *args, **kwargs),
context
)
context['tags']
空のセット
マイテンプレート割り当てる:
{% if tags.all.count %}
{% for tag in tags.all %}
<a class="dropdown-item" href="?tag={{ tag.id }}">{{ tag }}</a>
{% endfor %}
{% endif %}
HELPを!これはそれほど複雑ではないように感じます。ありがとうございます
感謝を!これは素晴らしく、Wagtail Bakery Demoは非常に役に立ちます。 – JVsquad