리우's IT Story
article thumbnail
728x90
반응형

2023.04.29 - [파이썬을 이용한 웹구축] - django를 이용한 (게시글,댓글) 수정,삭제 , 간단한 유지보수작업

 

django를 이용한 (게시글,댓글) 수정,삭제 , 간단한 유지보수작업

2023.04.23 - [파이썬을 이용한 웹구축] - python migrations, 게시글작성자노출,수정,삭제 구현 python migrations, 게시글작성자노출,수정,삭제 구현 2023.04.23 - [파이썬을 이용한 웹구축] - 파이썬 장고 로그인

ji7290.tistory.com

 

이전 글에서는 django를 이용해서 게시글, 댓글 수정,삭제를 하고 

 

유지보수를 간단하게 하기위해서 views.py를 쪼개서

게시글, 댓글 , 그밖의 기본 각각의 함수를 쉽게 건드릴 수 있도록 해줬다.

 

여기에 분류할코드가  애매하다고 하면 별도의 py파일을 하나 만들어서 관리해주면 된다.

 

 


게시글에 추천 혹은 좋아요 누르는 기능을 만들어주자.

 

 

게시글과 댓글에 추가되야하는 기능들이기때문에 

models.py에 추가하자

 

question와 answer 클래스에 각각의 좋아요/싫어요 기능을 할당시켜준다.

 

models.py를 건드렸으면 마이그레이션해주자

 

터미널 코드 

python manage.py makemigrations

python manage.py migrate

 

 

q_detail.html로 가서 게시글영역에 좋아요기능을 넣어준다. 

  <div class="my-3" text-center>
                <a href="javascript:void(0)" data-uri="{% url 'board:vote_p_question' question.id %}"
                    class="positive  btn btn-sm btn-outline-secondary">좋아요
                    <span class="badge text-bg-success">{{ question.voter_positive.count }}</span>
                </a>


            </div>

 class="positive  

 {% block script %} 안에 

이 positive에 해당하는 javascript를 만들어준다.

templates-board-q_detail.html

 url 'board:vote_p_question' 

이 파일의 경로를 셋팅하러가자

 

board- urls.py에 question영역에 경로를 추가해준다.

 

path('question/positive/<int:question_id>/', question_views.vote_p_question, name='vote_p_question'),

 

 

 

게시글(question)에 해당하는 좋아요기능이니까

views폴더에 question_views.py로가서  vote_p_question함수를 만들어주자 

 

웹에서 좋아요를 눌러보자

 

게시글에 싫어요영역을 만들어준다.

q_detail.html

 

  <a href="javascript:void(0)" data-uri="{% url 'board:vote_n_question' question.id %}"
                    class="negative  btn btn-sm btn-outline-secondary">싫어요
                    <span class="badge text-bg-danger">{{ question.voter_negative.count }}</span>
                </a>

 

negative에 해당하는 javascript를  {% block script %}내에 똑같이 만들어준다.

 

 

urls.py로가서 path추가시켜주기

    path('question/negative/<int:question_id>/', question_views.vote_n_question, name='vote_n_question'),

 

 

views폴더에 question_views.py로가서 함수작성

 

 

 

 

댓글에 좋아요 싫어요를 추가해보자.

 

q_detail.html로가서 댓글영역에  좋아요,싫어요기능을 넣는 코드

 

   <a href="javascript:void(0)" data-uri="{% url 'board:vote_p_answer' answer.id %}"
                     class="positive  btn btn-sm btn-outline-secondary">좋아요
                    <span class="badge text-bg-success">{{ answer.voter_positive.count }}</span>
                </a>
                <a href="javascript:void(0)" data-uri="{% url 'board:vote_n_answer' answer.id %}"
                     class="negative  btn btn-sm btn-outline-secondary">싫어요
                    <span class="badge text-bg-danger">{{ answer.voter_negative.count }}</span>
                 </a>

 

 

 

urls.py로가서 urspattern안에  path 추가해주기

  path('answer/positive/<int:answer_id>/', answer_views.vote_p_answer, name='vote_p_answer'),
    path('answer/negative/<int:answer_id>/', answer_views.vote_n_answer, name='vote_n_answer'),

 

answer_views.py로가서 함수작성해주자

 

게시글과 댓글 모두 좋아요 싫어요 기능이 잘구현됐다.

작성자가 좋아요 싫어요 버튼을 누르려고 하면 

경고창이 뜨게된다.

 

 

다음은 검색기능, 앵커기능을 구현해보자.

728x90
반응형
profile

리우's IT Story

@LRWoo

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!