DB
DB에 대하여(17)_좋아요 기능 구현 (feat. Django)
데이터분석가 이채은
2024. 5. 4. 09:00
좋아요 기능 구현
url 작성합니다.
# articles/urls.py
urlpatterns = [
...
path('<int:article_pk>/likes/', views.likes, name='likes'),
]
view 함수를 작성합니다.
# articles/views.py
@login_required
def likes(request, article_pk):
article = Article.objects.get(pk=article_pk)
if request.user in article.like_users.all():
article.like_users.remove(request.user)
else:
article.like_users.add(request.user)
return redirect('articles:index')
index 템플릿에서 각 게시글에 좋아요 버튼을 출력합니다.
<!-- articles/index.html -->
{% for article in articles %}
...
<form actions="{% url 'articles:likes' article.pk %}" method="POST">
{% csrf_token %}
{% if request.user in article.like_users.all %}
<input type="submit" value="좋아요 취소">
{% else %}
<input type="submit" value="좋아요">
{% endif %}
</form>
<hr>
{% endfor %}
좋아요 버튼 출력을 확인합니다.
좋아요 버튼 클릭 후 테이블을 확인합니다.