2010-02-03 44 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) 
相關問題