为什么反标记在django中没有按预期工作?

时间:2016-01-20 08:29:21

标签: python django django-templates template-engine

https://djangosnippets.org/snippets/2619/

根据上面的代码段,如果我们在初始化后访问模板中的{{ counter_var }},则应该返回先前的计数。但就我而言,它不会返回任何东西。

模板代码

<div class="question_number pull-left">Q{% counter %}. </div>
...
<script>var no_of_questions={{ counter_var }}</script>


即使我尝试将视图中的上下文变量counter_var设置为{'counter_var':0,...},然后它返回'0'。

如何让它工作以便它返回上一个计数器?
例如

Q1. 
Q2.

然后counter_var应该返回2而不是没有。

Django:1.8.6
Python:2.7

编辑:
模板标记已注册,并且Q<count>.counter_var外正确打印。

1 个答案:

答案 0 :(得分:0)

调试一段时间之后,可以使用代码使其正常工作。

{{1}}

问题是在最新的django(至少1.8.6)上下文变量无法使用模板标记进行更新,因此我必须访问在呈现阶段创建的render_context变量。

我添加了Guthub gist