我想使用jinja2模板文件从$ /usr/local/julia-1.2.0/bin/julia main.jl
ERROR: LoadError: LoadError: invalid redefinition of constant Test
Stacktrace:
[1] top-level scope at /usr/home/user/test/test.jl:3
[2] include at ./boot.jl:328 [inlined]
[3] include_relative(::Module, ::String) at ./loading.jl:1094
[4] include(::Module, ::String) at ./Base.jl:31
[5] include(::String) at ./client.jl:431
[6] top-level scope at /usr/home/user/test/main.jl:3
[7] include at ./boot.jl:328 [inlined]
[8] include_relative(::Module, ::String) at ./loading.jl:1094
[9] include(::Module, ::String) at ./Base.jl:31
[10] exec_options(::Base.JLOptions) at ./client.jl:295
[11] _start() at ./client.jl:464
in expression starting at /usr/home/user/test/test.jl:3
in expression starting at /usr/home/user/test/main.jl:3
文件中读入注释I <3 chickens
。
我的jinja2模板如下:
config.json
从comment.text中读入字符{% for comment in comments %}
<p><b>{{ comment.owner }}</b> {{comment.text }} </p>
{% endfor %}
。
我应该怎么在这里逃脱?
这些是我收到的错误消息:
<
答案 0 :(得分:0)
有一个逃生过滤器
from jinja2 import Environment, select_autoescape
env = Environment()
comments = [{'owner':'cmlzaGk', 'text': 'I <3 chickens'}]
tmpl_data = '''
{% for comment in comments %}
<p><b>{{ comment.owner|escape }}</b> {{comment.text|escape }} </p>
{% endfor %}
'''
tmpl = env.from_string(tmpl_data)
print(tmpl.render(comments=comments))
from jinja2 import Environment, select_autoescape
env = Environment(autoescape=select_autoescape())
comments = [{'owner':'cmlzaGk', 'text': 'I <3 chickens'}]
tmpl_data = '''
{% for comment in comments %}
<p><b>{{ comment.owner }}</b> {{comment.text }} </p>
{% endfor %}
'''
tmpl = env.from_string(tmpl_data)
print(tmpl.render(comments=comments))
如果您在进行jinja设置的框架中使用jinja2,则建议您参考该框架的文档。例如。 Flask默认设置自动转义,但是要求文件模板具有特定的extensions。