#raw javascript块中的Python猎豹变量?

时间:2017-01-18 10:52:22

标签: javascript jquery python cheetah

如果我有一块#raw里面有javascript,有时候我需要从那个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?

也许已经有了解决方案?

的Juha

1 个答案:

答案 0 :(得分:1)

嗯,它是原始的还是非原始的,即解析。如果你想在一个块里面解析变量,那么块就不能是原始的。你必须在解析的块内转义美元符号。