class AddStarRating(View):
"""Добавление рейтинга"""
def get_client_ip(self, request):
x_forwarded_for = request.META.get('HTTP_X_FORWARDED_FOR')
if x_forwarded_for:
ip = x_forwarded_for.split(',')[0]
else:
ip = request.META.get('REMOTE_ADDR')
return ip
def post(self, request):
form = RatingForm(
request.POST)
if form.is_valid():
Rating.objects.update_or_create(
ip=self.get_client_ip(request),
master_id=int(request.POST.get("master")),
defaults={'star_id': int(request.POST.get("star"))}
)
return HttpResponse(status=201)
else:
return HttpResponse(status=400)