"장고 실시간 추천"의 두 판 사이의 차이

Pywiki
둘러보기로 가기 검색하러 가기
1번째 줄: 1번째 줄:
 
== 개요 ==
 
== 개요 ==
 
추천기능은 앞서 [[장고 추천기능]]에서 만들었다. 다만, 매번 새로고침 해서 데이터를 갱신했는데, 이번엔 AJAX를 이용한 통신으로 추천을 실시간 반영하는 방법을 다루고자 한다.
 
추천기능은 앞서 [[장고 추천기능]]에서 만들었다. 다만, 매번 새로고침 해서 데이터를 갱신했는데, 이번엔 AJAX를 이용한 통신으로 추천을 실시간 반영하는 방법을 다루고자 한다.
 +
 +
기본적으로 [[장고 추천기능]] 문서에서 사용한 코드에서 변형을 가한다.
  
 
== 모델 변형 ==
 
== 모델 변형 ==

2021년 6월 25일 (금) 10:29 판

1 개요

추천기능은 앞서 장고 추천기능에서 만들었다. 다만, 매번 새로고침 해서 데이터를 갱신했는데, 이번엔 AJAX를 이용한 통신으로 추천을 실시간 반영하는 방법을 다루고자 한다.

기본적으로 장고 추천기능 문서에서 사용한 코드에서 변형을 가한다.

2 모델 변형

@login_required(login_url='membership:login')
def vote_question(request, question_id):
    question = get_object_or_404(Question, pk=question_id)
    question_like, question_like_created = question.like_user.get_or_create(user=request.user)
    #위 함수가 어떤 기능인지 제대로 파악해야겠다.
    #question.voter.add(request.user)
    if not question_like_created:  # 생성된 게 아닌 경우.
        question_like.delete()  # 삭제한다.
    #기존의 이 줄을 아래로 대체한다. return redirect('pool:detail', question_id=comment.answer.question.id)
    #ajax를 구현하기 위해 json으로 반환한다.
    return HttpResponse(json.dumps(context), context_type="application/json")