Переменные гепарда Python внутри блока #raw javascript?

Если у меня есть блок #raw, в котором есть javascript, и иногда мне нужно получить доступ к некоторым переменным python (в примере $ foo) из этого javascript.

#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

во-первых, это выглядит некрасиво и не очень читаемый код. Я хотел бы иметь, если оператор в одной строке.

Но есть ли:

  • способ представить эти переменные с некоторыми заполнителями, такими как% s в строках Python?
  • Или каким-то образом сказать #raw, что это за блок и передать эти переменные в качестве аргумента? Подобно:

    #raw($foo, $bar) . if ( $(#manuf).val() or $foo ) { fooBar($bar); . . . } #end raw

    так же, как в #def, определение блока допускает такие аргументы, как вызов функции.

На самом деле я бы хотел второй способ больше, и, возможно, он не должен называться #raw, но он может быть специфичен для необработанного содержимого, например #ecmascript() ... #end ecmascript?

Может быть, уже есть решение для этого?

Юха

1 ответ

Ну, это либо сырье, либо не сырье, то есть разобрано. Если вы хотите разобрать переменные внутри блока, блок не может быть необработанным. Вы должны избежать знаков доллара внутри разобранного блока.

Другие вопросы по тегам