Tags
- M:N
- Django
- 그리디
- 트리
- 스택
- update
- N:1
- 이진트리
- 큐
- Queue
- regexp
- SQL
- Vue
- delete
- outer join
- distinct
- migrations
- 백트래킹
- stack
- count
- 통계학
- drf
- ORM
- 뷰
- 쟝고
- 완전검색
- DB
- Article & User
- create
- Tree
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Notice
Recent Posts
Link
데이터 분석 기술 블로그
DB에 대하여(17)_좋아요 기능 구현 (feat. Django) 본문
좋아요 기능 구현
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 %}
좋아요 버튼 출력을 확인합니다.
좋아요 버튼 클릭 후 테이블을 확인합니다.
'DB' 카테고리의 다른 글
DB에 대하여(19)_팔로우 기능 구현 (feat. Django) (2) | 2024.05.06 |
---|---|
DB에 대하여(18)_프로필 기능 구현 (feat. Django) (0) | 2024.05.05 |
DB에 대하여(16)_좋아요 모델 관계 설정 (feat. Django) (0) | 2024.05.03 |
DB에 대하여(15)_Django ManyToManyField (feat. Django) (0) | 2024.05.02 |
DB에 대하여(14)_'through' argument (feat. Django) (0) | 2024.05.01 |