更新2:问题根本不是Django问题 - 在访问Django之前,Python绝对剥离了角色。修复是将字符串定义为原始
inputs['variable'] = r'{\bf this is code} \\'
更新:事实证明这是一个比我初看起来更深层次的问题 - 问题是python在它们到达django之前正在替换字符串文字。如果我找到解决方案,我会做更多的调查和更新。
我正在使用django来处理LaTeX模板以生成报告,并且使用Django替换部分字符串的方式遇到了很多问题。
特别是,我遇到了两个问题,我试图插入一个包含乳胶代码的变量。
首先,它会用HTML代码替换HTML字符,例如小于符号,这对于LaTeX解释器来说当然是胡言乱语。我通过将上下文设置为never autoescape来修复此问题,如下所示:
c = Context(inputs)
c.autoescape = False
但是,我仍然有我的第二个问题,即Django用相应的characers替换字符串文字,因此双反斜杠变为\,而\ b变为退格。如何强制Django将这些字符保留在原位,所以
inputs['variable'] = '{\bf this is code} \\'
使用时,不会被破坏
{{variable}}
在django模板中引用它?
答案 0 :(得分:0)
正如上面的更新中所指出的那样,Django根本不是问题 - Python在字符串甚至是Django之前解释了字符串文字。修复是将字符串定义为raw。
inputs['variable'] = r'{\bf this is code} \\'