【发布时间】:2017-01-18 10:52:22
【问题描述】:
如果我有一个包含 javascript 的 #raw 块,有时我需要从该 javascript 访问一些 python 变量(示例中的 $foo)。
#raw
<script type="text/javascript" charset="utf-8" >
if (
#end raw
$foo
#raw
and $('#manuf').val() ) {
getNextFreeProdCode(
$('#category option:selected').val(),
$('#subCat option:selected').val(),
$('#manuf option:selected').val()
);
}
</script>
#end raw
首先,这看起来很丑陋且不那么可读的代码。我想在单行中有 if 运算符。
但是有吗:
- 一种用 %s 等占位符引入这些变量的方法 蟒蛇字符串?
-
或者以某种方式告诉#raw该块是什么并给出 那些变量作为参数呢?喜欢:
#raw($foo, $bar) . if ( $(#manuf).val() or $foo ) { fooBar($bar); . . . } #end raw就像在#def define 块中一样,允许函数调用之类的参数。
实际上我更喜欢第二种方式,也许它不应该被称为#raw,但它可以是特定于原始内容的,比如#ecmascript() ... #end ecmascript?
也许已经有解决方案了?
朱哈
【问题讨论】:
-
在这种情况下,我会跳过 #raw-blocks 并改用 jQuery('#manuf').val() 等。
标签: javascript jquery python cheetah