webpy在for循环中不识别python的第二行
当我使用webpy运行下面的代码时,我得到“NameError:未定义全局名称'test'” 当我在python中运行代码时,它就像预期的那样工作。就好像WebPy不把[$test =每一行]看作for循环的一部分而引起错误一样。如何让webpy读取第二行作为for循环的一部分webpy在for循环中不识别python的第二行,python,Python,当我使用webpy运行下面的代码时,我得到“NameError:未定义全局名称'test'” 当我在python中运行代码时,它就像预期的那样工作。就好像WebPy不把[$test =每一行]看作for循环的一部分而引起错误一样。如何让webpy读取第二行作为for循环的一部分 $def with (orders) <h1>OUTscreen</h1> <table border="1"> <tr> <th>Has Waited<
$def with (orders)
<h1>OUTscreen</h1>
<table border="1">
<tr>
<th>Has Waited</th>
<th>Size</th>
<th>Type</th>
<th>Customer</th>
</tr>
$for each in orders:
$test = each
<tr>
<td>$test.minsInYard min</td>
<td>$test.size</td>
<td>$test.eqType</td>
<td>$test.cust</td>
<td>$test.trucker</td>
</tr>
</table>
$def与(订单)
银幕外
等待
大小
类型
顾客
订单中每个$
$test=每个
$test.minsInYard最小值
$test.size
$test.eqType
$test.cust
$test.trucker
感谢您的帮助本手册中没有直接提到变量赋值
但是,根据现有文档,您可能需要将表达式用大括号括起来,如下所示:
$for each in orders:
${test = each}
如果那不起作用,我建议这可能是不可能的。然而,考虑到这是一个模板,任何逻辑都应该在模板本身的外部完成,这意味着赋值,并且应该需要除非平凡表达式以外的任何内容。在您发布的示例中,没有理由不能:
$for test in orders:
<tr>
<td>$test.minsInYard min</td>
...
仅仅在变量名前加一个“$”是不够的。我不知道为什么会这样做,但在第二个$后加4个空格就行了。谢谢你的帮助
$for test in orders:
$ test = each
<tr>
<td>$test.minsInYard min</td>
<td>$test.size</td>
<td>$test.eqType</td>
<td>$test.cust</td>
<td>$test.trucker</td>
</tr>
</table>
$用于订单测试:
$test=每个
$test.minsInYard最小值
$test.size
$test.eqType
$test.cust
$test.trucker
for循环中使用each.XXX
而不是test.XXX
时会发生什么?
$for test in orders:
$ test = each
<tr>
<td>$test.minsInYard min</td>
<td>$test.size</td>
<td>$test.eqType</td>
<td>$test.cust</td>
<td>$test.trucker</td>
</tr>
</table>