Skip to main content

A no-frills Django form widget for rating stars

Project description


This is a simple widget rendering so-called rating stars as input for an integer field. It is based solely on CSS 3, as laid out by Martin Ivanov.

This is different from other star rating applications in that it provides only a widget returning its selction to any IntegerField. It is not a complete rating application, just a presentational widget for integer input. It is also different in that it depends only on CSS3, without any JavaScript.

In contrast to others (and to the original work credited above), this widget also works on browsers that do not support CSS (like text-mode browsers). In that case, it renders as basic radio buttons with numbers.


Just add the Stars widget to any IntegerField in a Django form.

from django import forms
from django_starfield import Stars

class StarsExampleForm(forms.Form):
    rating = forms.IntegerField(widget=Stars)

The following aspects are configurable, both in the Django settings and when creating the widget (by passing an argument to Stars):

Aspect Format Default Setting name Argument
Number of stars integer 5 STARFIELD_STARS stars
Character used as star hexadecimal codepoint 2605 STARFIELD_CODEPOINT codepoint
Colour of stars HTML colour #f5b301 STARFIELD_COLOUR colour

Please note that some browsers render some Unicode characters, especially emojis, as images, so changing the font colour will not work.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-starfield-1.0.post2.tar.gz (10.1 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page