질문 추천에 추가 기능 구현해봤습니다.
사이트 추천 기능에 이미 추천한 글에는 '이미 추천한 글입니다'라는 메시지를 띄우려고 코드 작성해봤습니다.
from ..models import Question
from django.contrib.auth.decorators import login_required
from django.contrib import messages
from django.shortcuts import get_object_or_404, redirect
@login_required(login_url='common:login')
def vote_question(request, question_id):
question = get_object_or_404(Question, pk=question_id)
> voteonly = question.voter.all()
> for votelist in voteonly :
> if request.user == votelist :
> messages.error(request, '이미 추천한 글입니다.')
if request.user == question.author :
messages.error(request, '본인이 작성한 글은 추천할 수 없습니다.')
else:
question.voter.add(request.user)
return redirect('pybo:detail', question_id=question.id)
중간에 화살표 있는 부분인데 구현해보니 작동은 잘 된다만 코드를 잘 작성한건지 모르겠네요 ;ㅎㅎ
aq3480 님 346
M 2021년 10월 17일 8:30 오후
1개의 답변이 있습니다. 1 / 1 Page
잘 작성하셨네요.
다음처럼 작성하셔도 되구요.
if request.user in question.voter.all():
messages.error(request, '이미 추천한 글입니다.')
박응용 님
2021년 10월 18일 9:54 오후