주 메뉴 열기
대문
임의의 문서로
로그인
설정
Pywiki 소개
면책 조항
Pywiki
검색
바뀜
← 이전 편집
3. 장고 탬플릿 필터
(편집)
2022년 11월 18일 (금) 11:31 판
157 바이트 추가됨
,
2022년 11월 18일 (금) 11:31
편집 요약 없음
23번째 줄:
23번째 줄:
|-
|-
|<code><nowiki>|safe</nowiki></code>
|<code><nowiki>|safe</nowiki></code>
−
|XSS를 막기 위해 HTML에서 쓰이는
문자들은
자동으로 이스케이프
처리한다
.
+
|
view에서 텍스트 데이터를 가공해 보내면 html 안에서 "내용" 형식으로 담긴다.
+
XSS를 막기 위해 HTML에서 쓰이는
문자들을
자동으로 이스케이프
처리하는 것이다
.
하지만, HTML태그를 그대로 사용해야 할 때가 있는데, safe필터를 사용하여 해당부분의 제한만 풀거나 {%autoescape%}태그를 사용하여 {%endautoescape%} 사이의 이스케이프를 방지한다.
하지만, HTML태그를 그대로 사용해야 할 때가 있는데, safe필터를 사용하여 해당부분의 제한만 풀거나 {%autoescape%}태그를 사용하여 {%endautoescape%} 사이의 이스케이프를 방지한다.
|-
|-
81번째 줄:
82번째 줄:
−
@register.filter
+
@register.filter
()
def sub(value, arg):
def sub(value, arg):
return value - arg
return value - arg
106번째 줄:
107번째 줄:
* 앱 안에 <code>templatetags</code> 디렉터리를 만든다.
* 앱 안에 <code>templatetags</code> 디렉터리를 만든다.
* 이 디렉터리 안에 <code>custom_tags.py</code>를 만든다.(이름은 짓기 나름)
* 이 디렉터리 안에 <code>custom_tags.py</code>를 만든다.(이름은 짓기 나름)
+
* @register 안의 경로는, 해당 필터를 구현할 html 경로를 지정한다.
|<syntaxhighlight lang="python">
|<syntaxhighlight lang="python">
from django import template
from django import template
121번째 줄:
123번째 줄:
|탬플릿 안에서 필터를 불러온 후 사용한다.
|탬플릿 안에서 필터를 불러온 후 사용한다.
−
+
* custom_tags는 필터를 저장한 파일명이다
.
−
하고 나면 탬플릿 파일이 없다는 에러가 뜰텐데, 적절히 만들어주면 끝
.
|<syntaxhighlight lang="html+django">
|<syntaxhighlight lang="html+django">
{% load custom_tags %}
{% load custom_tags %}
Sam
사무관
,
인터페이스 관리자
,
관리자
, 교사
편집
1,408
번