django-siteflags

Reusable application for Django allowing users to flag/bookmark site objects


Keywords
bookmark, django, flag, python, ratings
License
BSD-1-Clause
Install
pip install django-siteflags==1.3.0

Documentation

django-siteflags

https://github.com/idlesign/django-siteflags

Description

Reusable application for Django allowing users to flag/bookmark site objects

So you want a user to be able to put some flags on certain site entities.

Let's say you need a kind of bookmark powered service, or a site where content is flagged and moderated, or a simplified rating system, or something similar.

Inherit you model from siteflags.models.ModelWithFlag and you're almost done.

Like that:

# myapp/models.py
from siteflags.models import ModelWithFlag


class Article(ModelWithFlag):

    ...  # Some model fields here.

And like so:

# 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)

    ...

Quite simple. Quite generic. Read the documentation.

Documentation

http://django-siteflags.readthedocs.org/