我正在使用 django 的这个应用程序:'Django-ratings',我已经使用它几天了,但我无法让它工作,我不知道我的代码有什么问题。
我将'djangoratings'
, 添加到我的 INSTALLED_APPS 中,然后将该字段添加rating = RatingField(range=5)
到我想要评分的模型中。
这是我的看法
def votos(request, self):
if request.is_ajax():
form = UbicacionForm(request.POST)
if form.is_valid():
u = form.save(commit=False)
u.user = request.user
u.save()
form.save_m2m()
Ubicacion.rating.add(score=self.rating, user=self.user, ip_address=self.ip_address)
data = '<ul>'
for ubicacion.rating in ubicaciones:
data += '<li>%s %s s</li>' % (ubicacion.rating.score, ubicacion.rating.votes)
data += '</ul>'
return HttpResponse(simplejson.dumps({'ok': True, 'msg': data}), mimetype='application/json')
else:
return HttpResponse(simplejson.dumps({'ok':False, 'msg':'No fue valido!'}), mimetype='application/json')
我的模板:
{% 额定负载 %}
{% csrf_token %}
<td><input name="star" type="radio" class="star" value= "1"/></td>
<td><input name="star" type="radio" class="star" value= "2"/></td>
<td><input name="star" type="radio" class="star" value= "3"/></td>
<td><input name="star" type="radio" class="star" value= "4"/></td>
<td><input name="star" type="radio" class="star" value= "5"/></td>
{% rating_by_request request on ubicaciones.rating as vote %}
{% if vote %}
<td> {{ vote }}</td>
{% else %}
<td> Sorry, no one has voted yet!</td>
{% endif %}`
我的ajax函数:
$(".star").click(function(){
var val = $(this).data("value");
$.ajax({
type: "POST",
url : "votos",
data : {
"val" : val
},
success: function(data) {
console.log(data);
}
});
});
我的模型:
class UbicacionForm(ModelForm):
class Meta:
model = Ubicacion
我的网址
url(r'rate/(?P<object_id>\d*)/(?P<score>\d*)/', AddRatingFromModel(), {
'app_label': 'gmaps',
'model': 'ubicacion',
'field_name': 'rating',
}),
这个应用程序应该创建的新列,它在我想要评级的模型内部创建,“rating_vote”和“rating_score”都在数据库中,但值为 0:/