2010-02-03 5 views
0

내가이 일을 제대로하고 있습니까? (? 아마 ... 사람이 올바른 감사)작은 따옴표 앞에 슬래시를 추가하는 Django 템플릿 사용자 정의 태그는 어떻게 작성합니까?

@register.filter('addslashes') 
@stringfilter 
def addslashes(text, arg): 
    return text.replace('\'','\\'') 


{{ query|addslashes }} 
+2

당신이 그것을 시도 해 봤나 : 여기

은 원래의 작품이 어떻게? 당신이 옳은 일을하고 있는지 아닌지를 확인하는 확실한 화재 방법은 그것이 효과가 있는지 확인하는 것입니다. –

+0

시도해보고 작동하지 않는 경우 오류를 알려주십시오. –

답변

4

동일한 이름을 가진 내장 필터가있다 : 그것은 큰 따옴표, 더블 슬래시를 이스케이프 addslashes

가. 작은 따옴표 만 원하는 경우이를 따로 따로 명명해야합니다.

def addslashes(value): 
    """ 
    Adds slashes before quotes. Useful for escaping strings in CSV, for 
    example. Less useful for escaping JavaScript; use the ``escapejs`` 
    filter instead. 
    """ 
    return value.replace('\\', '\\\\').replace('"', '\\"').replace("'", "\\'") 
addslashes.is_safe = True 
addslashes = stringfilter(addslashes) 
관련 문제