Simple youtube like up and down rating app for Django.
Python
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
tests
updown
.gitignore Reworked most of the application Mar 1, 2016
.travis.yml
CHANGELOG.md Bump version, update changelog Apr 28, 2016
LICENSE.md Updated README, separate CHANGELOG Mar 2, 2016
MANIFEST.in
README.md
setup.cfg Added setup.cfg Mar 2, 2016
setup.py Removed readme reference from setup.py Mar 2, 2016
tox.ini

README.md

django-updown

Simple Django application for adding Youtube like up and down voting.

Build Status

Install

pip install django-updown

Usage

Add "updown" to your INSTALLED_APPS. Then just add a RatingField to your existing model:

from django.db import models
from updown.fields import RatingField

class Video(models.Model):
    # ...other fields...
    rating = RatingField()

You can also allow the user to change his vote:

class Video(models.Model):
    # ...other fields...
    rating = RatingField(can_change_vote=True)

Now you can write your own view to submit ratings or use the predefined:

from updown.views import AddRatingFromModel

urlpatterns = patterns("",
    url(r"^(?P<object_id>\d+)/rate/(?P<score>[\d\-]+)$", AddRatingFromModel(), {
        'app_label': 'video',
        'model': 'Video',
        'field_name': 'rating',
    }, name="video_rating"),
)

To submit a vote just go to video/<id>/rate/(1|-1). If you allowed users to change they're vote, they can do it with the same url.