0

我有个问题。在 Tornado 处理程序中,我将一些参数传递给我的 html 页面。

这个页面的代码是这样的:

 {% if not writeable %}
    {% if not usrpermdev %}
    $("#chart_div").html("<div class='alert'><strong>Warning!</strong> You don't have the permission to view this page.</div>")
    {% elif usrpermdev==0 %}
    $("#chart_div").html("<div class='alert'><strong>Warning!</strong> You don't have the permission to view this page.</div>")
    {% end %}
  ......

结束它是这样的,因为我想<div>在某些权限的情况下显示一个元素。

现在,如果我在我的 Tornado 处理程序中放置一些打印件,我会看到例如:

usrpermdev = [{'perm': 4L}]
writeable = False

那么为什么我的代码在控制之后没有显示任何内容呢?

如果代码在 if 中输入(不可写),请检查 usrpermdev 是否​​存在。在这种情况下,程序不应该同时进入下一个 if 并继续.... 为什么这不会发生?

PS。我什么都没看到……甚至连警告都没有!所以程序不进入 if(s) 但甚至不继续......

4

3 回答 3

1

我和你有同样的问题。但是如果我设置

{% if writeable=="False" %}

它仍然不起作用。看起来 tornado 并不关心 if 子句中的布尔值。如果您将可写值更改为 True 或 False,则将其输出到您的模板中

{{ writeable }}

你会看到像这样的文字

真的

或者

错误的

但它仍然不去if 子句。PS这是Linux上的龙卷风4.2.1。太奇怪了!


更新

解决了

我刚刚通过使用这个子句解决了这个问题{% if writeable is False %}并且记住,你应该在你的模板块下使用它,而不是使用 if upper 一个模板块。

于 2015-08-13T01:54:56.610 回答
0

usrpermdev不符合if或的条件elif

于 2013-03-13T12:29:35.193 回答
-1

我更正代码:

{% if writeable=="False" %}
{% if not usrpermdev %}
$("#chart_div").html("<div class='alert'><strong>Warning!</strong> You don't have the permission to view this page.</div>")
{% elif usrpermdev==0 %}
$("#chart_div").html("<div class='alert'><strong>Warning!</strong> You don't have the permission to view this page.</div>")
{% end %}

以这种方式似乎工作......还是谢谢你。

于 2013-03-13T12:48:09.260 回答