Как реализовать кнопку Like Dislike для анонимного пользователя в Django?
Как я могу реализовать функциональность кнопок like и dislike для анонимных пользователей на моем сайте django?
Я недавно разрабатываю сайт на django, и решил не использовать User Login & Logout для того, чтобы больше посещать пользователей.
Проблема в том, как реализовать IP-адрес вместо "request.user".
Кто-нибудь знает, как установить IP-адрес в качестве пользователя для "кнопки нравится и не нравится"???
Ниже мой код на данный момент (устанавливаем request.user для функции like dislike):
#views.py Dislike is the same code.
@login_required(login_url="login")
def Like(request, slug):
add = Add.objects.get(slug=slug)
# remove dislike when user hit like.
is_dislike = False
for dislike in add.dislikes.all():
if dislike == request.user:
is_dislike = True
break
if is_dislike:
add.dislikes.remove(request.user)
# add like
is_like = False
for like in add.likes.all():
if like == request.user:
is_like = True
break
if not is_like:
add.likes.add(request.user)
if is_like:
add.likes.remove(request.user)
next = request.POST.get("next", "/")
return HttpResponseRedirect(next)
#review.html inside templates
<div class="rate-added-rule">
<form action="{% url 'like' added_data.slug %}" method="POST">
{% csrf_token %}
<input type="hidden" name="next" value="{{ request.path }}">
<button type="submit" class="like-button">
<i class="far fa-thumbs-up">LIKE<span>VOTES: {{ added_data.likes.all.count }}</span></i>
</button>
</form>
<form action="{% url 'dislike' added_data.slug %}" method="POST">
{% csrf_token %}
<input type="hidden" name="next" value="{{ request.path }}">
<button type="submit" class="dislike-button">
<i class="far fa-thumbs-down">DISLIKE<span>VOTES: {{ added_data.dislikes.all.count }}</span></i>
</button>
</form>
</div>