Создавать собственные представления для django-тегов
В настоящее время я работаю над тегами Django. Я хочу получить все записи из моей модели, связанные с определенным тегом. Но я не хочу использовать общие представления. Итак, как мне создать свои представления, чтобы сделать это, и как я могу сделать это в моем шаблоне?
1 ответ
Решение
Учитывая Элемент, это ваш класс от вашей модели.
По вашему мнению
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 %}