emluy 개발 일기

Django - (Tripsurfer) custom tag 으로 3개 모델을 join 한 것처럼 원하는 값 가져오기 본문

웹 개발/Django

Django - (Tripsurfer) custom tag 으로 3개 모델을 join 한 것처럼 원하는 값 가져오기

yulme 2020. 11. 29. 01:05
SMALL

1. 하려는 것

홈페이지에 떠 있는 userid를 이용해서 user가 생성했던 경로들을 가져온 뒤 각 경로들의 썸네일 할 이미지를 가져와서 보여주기

 

2. 시도해본 방법

2-1. views.py 에서 다 해결해보기

- 홈페이지에 있는 userid 가져가서 해당 userid를 FK로 가지고 있는 map들을 가져온 다음 for문으로 각 map당 pic 하나씩을 딕셔너리 변수에 저장해주기 ->  좀 야매같은 느낌이었다. 만약 여행 경로 생성할 때 이미지 업로드를 안한 경우라면 pic를 가져오지 못할텐데 if문으로 예외 처리 해주는 것보다 더 나은 방법이 없을까?

 

2-2. js 사용해서 해결해보기

- views.py에서는 map까지만 가져온 다음 html 파일에서 js 함수를 실행시켜서 axios를 이용해 views.py로 한번 더 간 후 pic을 가져오는 방법을 생각함 -> 너무 복잡하다 굳이 이렇게 해야하나? 그리고 가져온 pic를 다시 html 파일의 img태그의 속성에 어떻게 넣을 것인가?

 

2-3. custom template tag 사용하기 -> 3번

 

3. 해결방법

3-1. custom template filter 중에서 register.simple_tag 사용

 

4. 알게된 것

4-1. img 태그 src에 절대경로와 상대경로 

- 절대경로는 진짜 이 파일이 내 컴퓨터 Desktop 폴더에서부터 시작해서 작업 디렉토리에 어떤 앱폴더에 어떤 폴더에 이미지가 저장되어있는지 쭉 나열된 경로 -> 

- 상대 경로는 내가 작업하고 있는 프로젝트폴더부터 시작하는 경로

=> img 태그에 속성값 넣어줄땐 무조건 상대경로로 넣어줘라!!!!!!1

 

4-2. custom template tag를 태그의 속성에 사용할 수 있다.

 

5.참고

5-1. custom template tag 종류

blueshw.github.io/2016/03/03/django-using-custom-templatetags/

 

[django] 커스텀 템플릿태그(templatetags) 활용하기

웹 개발을 하다보면, html 코드 상에서 다양한 연산을 해야하는 경우가 발생합니다. 그래서 php, jsp, asp, jade 등 각 언어별 웹 프레임워크에서 이와 같은 경우를 처리해주기 위한 기능을 제공하고

blueshw.github.io

5-2. Django에서 custom template tag 사용하는 법

wayhome25.github.io/django/2017/06/22/custom-template-filter/

 

Django 사용자 정의 필터 (Custom Template Filter)를 활용하여 인스타그램 해시태그 링크 구현하기 · 초

Django 사용자 정의 필터 (Custom Template Filter)를 활용하여 인스타그램 해시태그 링크 구현하기 22 Jun 2017 | python Django 사용자정의필터 개인적인 연습 내용을 정리한 글입니다. 더 좋은 방법이 있거나,

wayhome25.github.io

 

반응형
Comments