【发布时间】:2012-07-02 13:01:20
【问题描述】:
我有一个设置上下文变量的 django 模板标签(它从模型中获取随机图像,但对于本示例,假设它获取随机数)
{% get_random_number %}
{{ my_random_number }} <!-- outputs a random number between 1 and 10 -->
这很好用。
但是我需要在我的页面内的两个不同块中获得相同的“随机”数字:
{% block block1 %}
{% get_random_number %}
{{ my_random_number }} <!-- outputs a random number between 1 and 10 -->
{% endblock %}
{% block block2 %}
{% get_random_number %}
{{ my_random_number }} <!-- outputs a random number between 1 and 10 -->
{% endblock %}
这显然不起作用,因为我得到了两个不同的结果(除非偶然,它们是相同的!)
那么如何使用模板标签来设置跨两个模板块一致的上下文变量?
这样做不起作用 - 上下文变量仅限于它在其中创建的块...
{% get_random_number %}
{% block block1 %}
{{ my_random_number }}
{% endblock %}
{% block block2 %}
{{ my_random_number }}
{% endblock %}
那么.. 我怎样才能将初始结果“保存”到其他地方,然后再调用它,如果它已经在调用之前生成了?
谢谢
【问题讨论】:
标签: python django templatetags