Я использую Intercooler.js для небольшого счетчика.В основном это просто поле IntegerField
в модели Django с именем value
, и тогда вся логика обрабатывается в виде, подобном следующему:
from django.shortcuts import render
from .models import Counter
def index(request, template_name="counter.html"):
if request.GET.get('ic-request'):
counter, created = Counter.objects.get_or_create(pk=1)
counter.value += 1
counter.save()
else:
counter, created = Counter.objects.get_or_create(pk=1)
print(counter.value)
context = dict(
value=counter.value,
)
return render(request, template_name, context=context)
В шаблоне вы пишете его как HTML, безодна строка JavaScript:
<button ic-get-from="{% url 'index' %}" ic-target="#wrapper" ic-select-from-response="#wrapper" class="btn btn-success btn-sm my-2 mr-1" ><i class="fe-icon-heart"></i> <div id="wrapper">Like {{ value }}</div></button>
Так что это круто.Однако сейчас вы можете просто нажать кнопку «Нравится» навсегда.Есть ли какой-нибудь способ добавить немного (JavaScript), чтобы ограничить количество лайков на основе файлов cookie пользователя, а не пользователя, вошедшего в систему?Но все еще использую Intercooler.js