这篇文章是利用Jquery,json实现Ajax星星评分功能的手记,可以参考,请勿当作教程对待。
首先,在我们的django中定义了一个名为rater的model
class rater(models.Model):
    counts = models.IntegerField() #记录评分次数
    score = models.FloatField() #记录分数
还有1个view和一个view中的函数
def rate_json(request,item_id): #该函数返回给定item的分数,评分次数,总分。通过url:/rate_json/item_id/访问
    r = rater.objects.get(item__id=int(item_id))
    data = {}
    data['counts'] = i.counts
    data['score_sum']= i.score*i.counts
    data['score'] = r.score
    return HttpResponse(json.dumps(data), content_type="application/json") #返回一个json格式数据
def rate_item(request,item_id,score): #处理用户提交分数。通过url:/rate_json/item_id/score/访问
    score = int(score)
    if (score<=5 and score>=0):
        i = rater.objects.get(item__id=int(item_id))
        score_sum = i.counts * i.counts
        i.counts += 1
        i.score = score_sum / i.counts
        i.save()
        return rate_json(request,item_id)
下面是Js和html部分。
我是不会js的 所以直接用别人的插件吧。
用这个叫做raty的插件,
它的页面很详细。
只需要在click:中用jquery的getJSON方法来操作各个html元素就OK了