создавать собственные представления для django-тегов - PullRequest
1 голос
/ 13 декабря 2011

Я сейчас работаю над django tagging .Я хочу получить все записи из моей модели, связанные с конкретным тегом.Но я не хочу использовать общие представления.Итак, как я должен создать свои представления, чтобы сделать это, и как я могу сделать это в моем шаблоне?

1 Ответ

2 голосов
/ 13 декабря 2011

Учитывая Element - это ваш класс из вашей модели.

На ваш взгляд

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 %}
...