如果我在其中包含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等占位符引入这些变量的方法
python字符串?
或以某种方式告诉#raw该区块是什么并给出
那些变量作为参数?喜欢:
#raw($foo, $bar) . if ( $(#manuf).val() or $foo ) { fooBar($bar); . . . } #end raw
就像在#def define块中一样,允许像函数调用这样的参数。
其实我更想第二种方式,也许它不应该被称为#raw,但是它可能是特定于原始内容的,例如#ecmascript()... #end ecmascript?
也许已经有解决方案了?
朱哈
最佳答案
好吧,它要么是原始的,要么不是原始的,即已解析。如果要在块内分析变量,则该块不能是原始的。您必须在已解析的块中转义美元符号。
关于javascript - #raw javascript块中的Python猎豹变量?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41717448/