The easiest way would be to hide the rating
input field and add a <div>
for the slider that updates the rating
value. I've created a simple demo (below) to demonstrate this idea.
Note: The demo has a max value of 5. However, declaring your field, DecimalField(max_digits=5, decimal_places=2)
allows you to store numbers up to 999. This would obviously make it difficult to get the exact number you wanted using a slider.
DEMO
More specifically for your form.html
:
...
<td class="field">
{{ form.rating.as_hidden }}
<div id="rating_slide"></div>
<div class="error">
{{ form.rating.errors }}
</div>
</td>
...
If you want a more integrated method you could create a mixin class for your view or inclusion-tag for your template.