일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- crud
- merge
- docker
- Class
- AWS
- pandas
- 채팅
- flask
- RDS
- 카톡
- MongoDB
- wetube
- dict
- 튜플
- lambda
- NeXT
- 파이썬
- async
- SAA
- node
- react
- TypeScript
- SSA
- S3
- Props
- git
- Vue
- EC2
- socket io
- 중급파이썬
- Today
- Total
초보 개발자
django custom template filter 본문
room app안에 templatetags라는 이름의 폴더를 하나 만들자.
반드시 이름을 templatetags라고 해주어야 한다!
거기에 __init__.py 파일을 만들어서 파이썬이 인식할 수 있도록 해주자.
먼저 아래와 같이 {{ }} 안의 | 뒤에 존재하는 것을 filter라고 한다.
앞의 내용을 필터해준 다는 말이다. 여기서 우리는 기존에 내장되어있는 upper를사용해보자

우리는 분명 소문자로 썼는데 화면에서는 아래와 같이 대문자로 나타난 것을 확인할 수 있다.

우리는 이 필터를 커스텀 하려고한다.
먼저 위에서 만든 templatetags폴더안에 sexy_capital.py이라는 파일을 만들고 아래와 같이 만들어주자.

이렇게 한 뒤에 html파일로 가서 위에 {% load sexy_capitals(파일명) %}을 해준 뒤에

아래의 필터를 우리가 만든 sexy_cap으로 적어주면

화면에는 something이 아닌 필터의 return값 lalalalal가 나오게 되고,

콘솔을 보게되면 value에 앞에 있던 something을 받아와서 출력하는 것을 확인할 수 있다!!

이제 받아온 value값을 첫 글자만 대문자로 바꿔주기 위해서 아래와 같이 해준 뒤 화면을 보자

아래처럼 잘 바뀐 것을 확인할 수 있다!!

필터는 기능이 제한적이다. 그래서 우리는 tag를 따로 만들 수 있고 이를 활용하면 훨씬 더 사용폭이 넓어질 것이다.
이번에는 태그를 만들어 보자!
'Python > airbnb 클론' 카테고리의 다른 글
django session upload room (0) | 2022.03.22 |
---|---|
django add photo with createview (0) | 2022.03.22 |
django photo delete, edit (0) | 2022.03.21 |
elastic beanstalk (0) | 2022.03.16 |
django edit-room with UpdateView (0) | 2022.03.16 |