Simple youtube like up and down rating app for Django.
Failed to load latest commit information.
.travis.yml Bump version, update changelog Apr 28, 2016
setup.cfg Added setup.cfg Mar 2, 2016
tox.ini Dropped python 3.2 support Mar 1, 2016


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

Build Status


pip install django-updown


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.