바뀜

924 바이트 추가됨 ,  2022년 5월 25일 (수) 09:36
38번째 줄: 38번째 줄:     
각종 필터함수를 만들 수도 있지만 기능에 관련한 것들은 가능하면 view에서 처리하는 편이 디자이너와의 협업에 좋다.
 
각종 필터함수를 만들 수도 있지만 기능에 관련한 것들은 가능하면 view에서 처리하는 편이 디자이너와의 협업에 좋다.
 +
 +
== 커스텀 필터 만들기 ==
 +
놀랍게도 탬플릿 필터 안에 뺄셈이 없다. 하여간, 이런저런 경우 커스텀 필터를 만들어주어야 하는 경우가 생기는데, 빼기 필터를 만들 경우, 다음과 같이 진행한다.
 +
{| class="wikitable"
 +
!과정
 +
!설명
 +
!방법
 +
|-
 +
|필터 디렉터리 및 파일 만들기
 +
|
 +
* 앱 안에 <code>templatetags</code> 디렉터리를 만든다.
 +
* 이 디렉터리 안에 <code>posting_filter.py</code>를 만든다.(이름은 짓기 나름)
 +
|<syntaxhighlight lang="python">
 +
from django import template
 +
 +
register = template.Library()
 +
 +
 +
@register.filter
 +
def sub(value, arg):
 +
    return value - arg
 +
</syntaxhighlight>
 +
|-
 +
|필터 사용
 +
|탬플릿 안에서 필터를 불러온 후 사용한다.
 +
|<syntaxhighlight lang="html+django">
 +
{% load posting_filter %}
 +
 +
<td><a href="...">{{ posting.like_count|sub:posting.dislike_count }} </a></td>
 +
</syntaxhighlight>
 +
|}
 
[[분류:장고 탬플릿]]
 
[[분류:장고 탬플릿]]