django-siteflags
Приложение для Django, упрощающее реализацию отметок/закладок для объектов сайта.
Репозиторий: https://github.com/idlesign/django-siteflags
Автор:
Игорь Стариков
Итак, вы хотите отмечать некоторые сущности (объекты моделей), проставлять на них флаги.
Скажем, на вашем сайте должна быть система закладок, или вам нужно иметь возможность проставить флаги для модерации, или требуется простая система рейтинга, или нечто подобное.
Для начала наследуйте вашу модель от
После этого в коде можно будет обращаться к методам ваших объектов:
За более полным описанием и примерами обратитесь к документации (англ.).
Скажем, на вашем сайте должна быть система закладок, или вам нужно иметь возможность проставить флаги для модерации, или требуется простая система рейтинга, или нечто подобное.
Для начала наследуйте вашу модель от
siteflags.models.ModelWithFlag
: # myapp/models.py
from siteflags.models import ModelWithFlag
class Article(ModelWithFlag):
... # Здесь поля вашей модели.
После этого в коде можно будет обращаться к методам ваших объектов:
# myapp/views.py
from django.shortcuts import get_object_or_404
from .models import Article
def article_details(request, article_id):
article = get_object_or_404(Article, pk=article_id)
user = request.user
# Ставим флаг на статью от имени текущего пользователя.
article.set_flag(user)
# Проверяем, проставлен ли флаг текущим пользователем.
article.is_flagged(user)
# Снимаем флаг, проставленный текущим пользователем.
article.remove_flag(user)
...
За более полным описанием и примерами обратитесь к документации (англ.).