Django - (Tripsurfer) custom tag 으로 3개 모델을 join 한 것처럼 원하는 값 가져오기
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