Django: Как я могу обновить свою базу данных, используя запрос AJAX?

-1

В моем веб-приложении у меня есть пользователи, у которых есть баланс монеты в дополнение к таймеру. Когда таймер закончит отсчет, я бы хотел, чтобы их баланс монеты увеличивался.

В Django я могу получить доступ к балансу пользовательских монет: {{ request.user.profile.coins }}, а мой JS-таймер выглядит так:

function startClock () {
timeInterval = setInterval(function () {
    var t = getTimeLeft(deadline);
    minutesSpan.innerHTML = ("0" + t.minutes).slice(-2);
    secondsSpan.innerHTML = ("0" + t.seconds).slice(-2);

    if (t.total <= 0) { 
        clearInterval(timeInterval);

if (i === 7) {
  $(".reset, .start-pomodoro").addClass('hidden');
  $(".start-break2").removeClass('hidden');
}

        else if ((i % 2) === 1) {
          $(".reset, .start-pomodoro").addClass('hidden');
  $(".start-break1").removeClass('hidden');
        }

        else {
  $(".start-pomodoro").removeClass('hidden');
        }
    }
}, 1000);

Как я могу сделать так, чтобы до выполнения оператора if баланс пользовательского монеты увеличивался?

  • 0
    Сделать звонок на сервер с просьбой увеличить монету?
  • 0
    Я не уверен, как это сделать или что мне нужно учиться
Показать ещё 7 комментариев
Теги:
database

1 ответ

0
@login_required(login_url='users/login')                                                                 
    def coin_increase(request):
        user = User.objects.get(username=request.user)
        user.profile.coins += 5
        user.save()
        return render(request, 'home.html', {'home': home})

Как это выглядит?

  • 0
    Пожалуйста, не публикуйте новые вопросы в качестве ответов, но вместо этого обновите исходный вопрос. Если вы проверили это, и это сработало, сделайте это. Как примечание: вам не нужно (и это все равно не сработает, если вы просто отбросите результат в своем коде JQuery) возвращать шаблон из представлений ajax. Достаточно простого HttpResponse .

Ещё вопросы

Сообщество Overcoder
Наверх
Меню