django-taggit をセットアップしましたが、正常に動作しています。すべてのタグが管理画面のタグの下に表示され、管理画面とフォームでタグを追加できます。
テンプレートにタグをリストするのに本当に問題があります (基本的に、タイトル、URL、およびタグを含むすべてのオブジェクトの長いリストが必要です。
現在、return tags というメソッドがモデルにアタッチされています。このメソッドは、テンプレートで反復するためのタグのリストを返す必要があります。うーん・・・それが理論です・・・
Model.py
class DefaultResource(models.Model):
#
# This class is the parent class for all resources in the media manager
#
title = models.CharField(max_length=100)
created_date = models.DateTimeField(auto_now_add=True, auto_now=False)
edited_date = models.DateTimeField(auto_now_add=False,auto_now=True)
level = models.ManyToManyField(AssoeLevel)
agebracket= models.ManyToManyField(AgeBracket)
pathway= models.ManyToManyField(AssoePathway)
tags = TaggableManager()
slug = models.SlugField(max_length=100,editable=False,blank=True)
updownvotes = RatingField(can_change_vote=True)
views = models.DecimalField(max_digits=20,decimal_places=2,default=0,blank=True)
score = models.DecimalField(max_digits=20,decimal_places=4,default=0,blank=True)
icon = models.CharField(max_length=254,editable=False,blank=True)
def return_tags(self):
taglist = self.tags.names()
return taglist
view.py
def index(request):
context = RequestContext(request)
default_resource_list = DefaultResource.objects.order_by('-score')
context_dict = {'default_resource_list':default_resource_list}
return render_to_response('mediamanager/index.html', context_dict, context)
index.html
{% for resource in default_resource_list %}
{% for tag in resource.return_tags %}
{{ tag }}
{% endfor %}
{% endfor %}
現在、これは空のリストを返しています。
また、テンプレートに以下を入れてみました
{% for tag in resource.tags.all %}
{{tag.name}}
{% endfor %}
しかし、これも空のリストを返します