Основательно потрахавшись с django-tagging пришел к выводу, что не лишним будет поделится накопленным опытом.
# urls:
...
url(r'^tag/(?P<tag>[^/]+)/$', bookmarks_by_tag, name = "tag"),
...
# views:
@login_required
def bookmarks_by_tag(request, tag):
tag = urllib.unquote(unicode(tag))
tag = get_object_or_404(Tag, name = tag)
bookmark_instances = TaggedItem.objects.get_by_model(BookmarkInstance, tag)
return render_to_response("bookmarks/your_bookmarks.html", {
"bookmark_instances": bookmark_instances,
}, context_instance=RequestContext(request))
# tamplates:
{% load tagging_tags %}
{% tag_cloud_for_model bookmarks.UserBookmarkInstance as tags with steps=9 min_count=0 distribution=log %}
<div id="cloud">
{% for tag in tags %}
<a href="{% url tag tag|urlencode %}" style="font-size: 1.{{ tag.font_size }}em">{{ tag }}</a>
{% endfor %}
</div>
2 комментария:
а в админ панели для конкретной модели, при добавлении или редактировании поле с TagField должно быть простым input или же должен появиться выбор из существующих ??
К сожалению, я уже не помню. Посмотреть некогда.
Отправить комментарий