"上下文"不能使用ChicagoBoss模板标签

时间:2015-04-06 09:33:58

标签: django chicagoboss

ChicagoBoss升级到最新版本(i.e.from 0.8.10 -> 0.8.14)后。我一直在观察,"context"这个词不能用在任何一个chicagoboss模板标签中。

它给出了语法错误:

例如。

{% if context == data.code %}
          <option selected>{{data.value1}}</option>
{% else %}
          <option selected>{{data.value2}}</option>
{% endif %}

或者

{% url action="some_action" context=data.val %}

为这些模板标签抛出同样的错误:

Unhandled Error: error:{case_clause,{ok,[{"src/view/x_return/form_12.html",
                         [{{88,15},
                           erlydtl_parser,
                           ["syntax error before: ",["\"context\""]]}]}]}} Stacktrace: [{boss_web_controller_render,render_view,5,[{file,"src/boss/boss_web_controller_render.erl"},{line,217}]},{boss_web_controller,execute_action_inner,9,[{file,"src/boss/boss_web_controller.erl"},{line,290}]},{boss_web_controller_handle_request,process_dynamic_request,5,[{file,"src/boss/boss_web_controller_handle_request.erl"},{line,254}]},{boss_web_controller_handle_request,process_request,5,[{file,"src/boss/boss_web_controller_handle_request.erl"},{line,240}]},{boss_web_controller_handle_request,set_timer,8,[{file,"src/boss/boss_web_controller_handle_request.erl"},{line,160}]},{boss_web_controller_handle_request,build_dynamic_response,5,[{file,"src/boss/boss_web_controller_handle_request.erl"},{line,129}]},{boss_web_controller_handle_request,handle_request,4,[{file,"src/boss/boss_web_controller_handle_request.erl"},{line,26}]},{mochicow_upgrade,upgrade,4,[{file,"src/mochicow_upgrade.erl"},{line,72}]}]

当我将"context"更改为"cntxt"context以外的任何内容时,它的工作正常。

您可能知道ChicagoBoss标记与Django模板标记类似。由于我遵循了ChicagoBoss以及Django文档,但我看不到"context"是关键字或任何保留术语的任何文档。

  • 任何django开发者都对它有任何想法吗?
  • 它是否也出现在Django模板中?

注意 - 我的模板标签中包含许多包含"context"的文件。因为更新每个文件以手动更改术语不是一个好主意。

1 个答案:

答案 0 :(得分:1)

context在版本0.9.4中更改了erlydtl(Django模板语言的Erlang实现)中的保留关键字,请参阅: https://github.com/erlydtl/erlydtl/releases/tag/0.9.4

因此,当您更新ChicagoBoss时,作为依赖关系,您可能已经提取了一个erlydtl versoin&gt; = 0.9.4

您可以在ChicagoBoss根目录的rebar.config中配置较低标记版本的erlydtl后重新编译ChicagoBoss。例如,如果您想要0.9.3版,请输入:

  

{erlydtl,“。*”,{git,“git://github.com/erlydtl/erlydtl.git”,{tag,“0.9.3”}}}