显示值时如何替换django中的字符串

显示值时如何替换django中的字符串,django,Django,在模板中显示值时,我需要将任何“更改为” 因此,例如{{account.company_name | escapejs}}应该将任何' 我该怎么做 谢谢 托马斯 **根据下面的评论更新了代码** 我的目录结构如下: myapp/ .... templatetags/ __init__.py replace.py {% from replace load replace %} Replace.py包含: from django import template reg

在模板中显示值时,我需要将任何“更改为”

因此,例如{{account.company_name | escapejs}}应该将任何'

我该怎么做

谢谢 托马斯

**根据下面的评论更新了代码**

我的目录结构如下:

myapp/
  ....
  templatetags/
     __init__.py
     replace.py
{% from replace load replace %}
Replace.py包含:

from django import template
register = template.Library()
from django.template import defaultfilters

@register.filter
@defaultfilters.stringfilter
def replace(value, args=","):
    try:
        old, new = args.split(',')
        return value.replace(old, new)
    except ValueError:
        return value
在settings.py中,我有

INSTALLED_APPS = ( 'myapp' )
在我的模板中,我尝试像这样加载customtag:

myapp/
  ....
  templatetags/
     __init__.py
     replace.py
{% from replace load replace %}
它是这样使用的

company_name='{{ account.company_name|escapejs|replace:"',\'" }}'
然后我收到了这个错误:

TemplateSyntaxError: Invalid block tag: 'from'
TemplateSyntaxError: 'replace' is not a valid tag library: Template library replace not found, tried google.appengine._internal.django.templatetags.replace
然后改成

{% load replace %} instead of {% from replace load replace %}
但是我得到了这个错误:

TemplateSyntaxError: Invalid block tag: 'from'
TemplateSyntaxError: 'replace' is not a valid tag library: Template library replace not found, tried google.appengine._internal.django.templatetags.replace

感谢您的帮助

您可以编写自己的筛选器:

@register.filter
@defaultfilters.stringfilter
def replace(value, args=","):
    try:
        old, new = args.split(',')
        return value.replace(old, new)
    except ValueError:
        return value
然后在模板中:

{% load replace from mycustomtags %}

{{ account.company_name|escapejs|replace:"',\'" }}
(我还没有测试过)

使用内置过滤器:

根据文档的示例:

{{value | addslashes}}


如果值为
“我正在使用Django”
,则输出将为
“我正在使用Django”

谢谢,我在哪里添加过滤器?很抱歉,如果这是一个基本问题文档是您的朋友,并根据您的指示将其添加到我的模板中,但我无法使其工作。我收到以下错误:“TemplateSyntaxError:'replace'不是有效的标记库:找不到模板库replace,尝试了google.appengine.\u internal.django.templatetags.replace”从django.Template导入默认筛选器添加
。很抱歉,我错过了。我收到以下错误:“TemplateSyntaxError:“replace”不是有效的标记库:找不到模板库replace,尝试了google.appengine.\u internal.django.templatetags.replace”我在模板顶部尝试了{%load replace%}和{%load replace from mycustomtags%}