Django 33

‍박태우·2023년 6월 29일
0
post-custom-banner

Field Lookup을 사용한 구독 페이지 구현


개념 : Filter

이때 괄호안의 조건들은 and function이다. (두 조건 모두 만족해야함)

  • 그럼 or function 과 where function은 어떻게?

=> 우리가 구독앱을 만들기 위해서 해야하는 2가지
1. 유저가 구독하고 있는 프로젝트를 확인하는 것
2. 그 프로젝트 안에 있는 모든 게시물을 가져오는 것

이 두 가지를 나눠서 구현해야 한다.

위와 같이 기존의 and function 과 달리 위와 같이 구현한다. 뒤의 두 요소에 초점을 둔다.

=> 위와 같은게 장고에서 말하는 field Lookups이다.

(위와같이 언더바 2개 __ 를 이용하여 기능을 제공하는 것이 바로
field Lookups이다.)

  • 이것들이 어떻게 db내에서 작동이 되는 것인가 ?

(위와 같은 형식으로 매칭이 된다.)

이것의 목적 : 좀더 복잡한 DB query를 사용자가 구현할 수 있도록 하는것에 의의가 있다.

(여러 종류가 존재한다.)


실제 구현 시작

  1. view단 생성 (subscribeapp에서)

(게시글들을 보여주는 뷰 생성 listview 이용)

  1. template_name에 해당하는 템플릿 생성

(경로 subscribeapp >> templates >> subscribeapp >> list.html

view 단에서 넘겨줬던 article_list를 이 안에서 쓰는 (snippets내부) article_list랑 같이 넣어준다. )

  1. url.py에 url 등록

  1. 실행 결과

(위와 같이 나옴)

(이 게시판이 구독되어 있기 떄문에 그 구독 프로젝트의 article_list가 나온다.)

(위와 같이 구독을 해제하면)

(게시글이 없다고 나온다. 우리가 구독한 그대로 그 글이 나오는 것을 알 수 있음)

  1. 헤더에 링크 추가하기

(Templates >> header.html에 위 코드 추가)

  1. 결과

(상단에 Subscription 버튼이 생긴걸 볼 수 있다.)

(누르면 구독 정보 페이지로 위와 같이 이동한다.)

profile
잘 부탁드립니다.
post-custom-banner

0개의 댓글