我正在使用Python 3.7和Django。我想从Python的模板中获取一个字符串,并进行适当的替换,例如...
position: absolute
但是,有一个问题。我的模板包含此
src = Template(filein.read())
# document data
relative_path = article.path.replace(settings.REDDIT_URL_PREFIX, "")
d = {'relative_path': relative_path, 'comment': comment}
# do the substitution
result = src.substitute(d)
美元符号通常用于替换,所以也许由于这个原因,我上面的代码因错误而死...
["xpath=//a[@onclick='$(this).parent().submit()']", "xpath:attributes"],
有人知道我如何修改上面的模板行,以使替换机制忽略该行上的美元符号吗?
答案 0 :(得分:0)
三个选项:
1)遵守转义规则 https://www.simplifiedpython.net/python-template-class/
2)遵循我扭曲的解决方法
在常规的django模板中,您可以在javascript周围放置{{verbatium}} {{end verbatium}},但是您正在使用Python的新字符串Template。我认为您将必须以某种方式对字符串进行清理,然后在替换后将其反转。您必须先将文件作为字符串加载,然后转换为模板
with open("/path/to/myfile.txt", "rb") as myfile:
initial = "/n".join(myfile.readlines()[1:])
initial.replace('$(this)',"QXQQQXQ")
src = Template(initial)
result = src.substitute(d)
result.replace("QXQQQXQ", '$(this)')
3)只需使用常规的Django模板
Django模板具有各种结构,可让您将字典数据转化为功能强大的网页,而不仅仅是简单的值替换