为django-tagging创建自定义视图

时间:2011-12-12 22:08:06

标签: django django-templates django-tagging

我目前正致力于 django标记。 我想从我给定的模型中检索与特定标签相关联的所有条目。 但我不想使用通用视图。那么我应该如何设计我的视图来完成这项工作?如何在我的模板中渲染它?

1 个答案:

答案 0 :(得分:2)

考虑元素是您的模型中的类。

在您的视图中

from django.db import models
from tagging.fields import TagField
from tagging.models import Tag

def myView(request,slug,tag){
   user = request.user
   element = Element.objects.get(slug=slug)
   #getting all tags added on the given element
   tags = Tag.objects.get_for_object(element)
   #getting all elements containing the given tag
   taggedElement = Element.objects.filter(tags__contains=tag)

  template = "elements/elements.html";

    context = {
        'taggedElement':taggedElement ,
        'tags':tags,
        'user':user,
    }

  return render_to_response( template, context, context_instance=RequestContext(request))
}

然后在您的模板(elements.html)

{% for tag in tags%}
<div class="tag">{{tag}}</div>
{% endfor %}