티스토리 뷰

반응형

 

장고 템플릿에서 요소 슬라이싱하기

 

- Django의 models나 views에서 객체 자체를 슬라이싱하는 것이 아니라 이미 존재하는 객체를 슬라이싱해서 django template을 표현할 때에는 아래와 같은 표현으로 사용한다.

 

{{ element|slice:"start:end+1" }}

 

 

 

 

 

 

 

주의할 점

 

- 파이썬과 다르게 template에서는 띄어쓰기가 문제가 될 수 있다. element | slice : "" 처럼 표현 할 경우 에러가 발생했다.

 

- slicing 뿐만 아니라 element|문법 표현을 통해 다양한 기능을 사용할 수 있다.

 

 

 

 

 

 

 

 

model 자체에서 slicing하기

 

- model에서 model 객체의 필드 값을 슬라이싱해서 새로운 필드로 정의해주는 것이 아니라 함수를 정의해 슬라이싱 값을 return하게 할 수 있다.

 

 

 

 

 

- 주의할 점은 summary 함수를 html 상에 표현할 때 p.posts.summary로 하면 오류가 난다. 이미 함수 자체에 posts가 들어있기 때문에 안해줘도 된다.

 

 

 

 

 

 

관련글

 

 

반응형

'Web > Python | Django' 카테고리의 다른 글

{{ Django }} - AJAX in Django  (0) 2020.11.06
{{ Django }} - URL Dispatcher & Regex(정규표현식)  (0) 2020.11.05
{{ Django }} - Request_Response Cycle  (0) 2020.09.29
{{ Django }} - Model Manager  (0) 2020.09.28
{{ Django }} - Django admin  (0) 2020.09.20
댓글