我这样做了吗? (可能不是......有人正确吗?谢谢)
@register.filter('addslashes')
@stringfilter
def addslashes(text, arg):
return text.replace('\'','\\'')
{{ query|addslashes }}
答案 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)