2

我在 Python 2.6 + Ubuntu + Apache 2.2 + FastCGI 下的 Django 部署有一个奇怪的问题。

如果我有这样的模板:

{% with True as something %}
   {%if something%}
      It Worked!!!
   {%endif%}
{%endwith%}

它应该输出字符串“It Worked!!!”。它不在我的带有 mod_fastcgi 的生产服务器上。

当我使用 runserver 在本地运行时,这非常有效。

为了方便起见,我将代码修改为以下代码以使其工作,问题就消失了。

{% with "True" as something %}
   {%if something%}
      It Worked!!!
   {%endif%}
{%endwith%}

似乎模板解析器在 FastCGI 下运行时,无法确定 bool 变量的真实性(或真实性)[如果您获得参考,请恭喜]。

有人见过这个吗?你有解决方案吗?

4

1 回答 1

3

嗯...True不是 django 模板语言中的有效标记,是吗?我不知道它是如何在本地工作的——除非它被添加到上下文中某个地方的非零值。因此,我认为您的第二个问题可能与第一个问题无关。

于 2009-03-26T03:37:50.277 回答