2016-01-21 110 views
4

我有一个html文件,其中包含Jinja2模板语言中的以下代码片段。在Jinja2模板中使用包含语句传递变量

{% block head %} 
    {{ super() }} 
    {% with textarea="txtMessageContent" %} 
     {% include "vvv/vvv/TinyMCE.html" %} 
    {% endwith %} 
{% endblock %} 

我想将变量textarea传递给包含以下代码的TinyMCE.html模板。

{% block InitTinyMCE %} 
<script src="https://x.x.x/x/js/jquery-2.1.0.min.js"></script> 
<script type="text/javascript" src="/static/js/tinymce/tinymce.min.js"></script> 
<script type="application/javascript"> 
alert(textarea); 
    $(document).ready(function (textarea){ 
     tinymce.init({ 
      selector: textarea, 
      menubar: true, 
      plugins: "hr code preview", 
      content_css:"https://x.x.x/x/css/backend-boostrap.css", 
      remove_linebreaks: false, 
      convert_newlines_to_brs: true 
     }); 
    }); 
</script> 
{% endblock %} 

当我加载页面时,我看到变量没有被传递通过。由于以下错误,我可以确认这一点。

textarea未定义。

回答

0

你需要把周围的变量双花括号中金贾

{% block InitTinyMCE %} 
<script src="https://x.x.x/x/js/jquery-2.1.0.min.js"></script> 
<script type="text/javascript" src="/static/js/tinymce/tinymce.min.js"></script> 
<script type="application/javascript"> 
    $(document).ready(function(){ 
     tinymce.init({ 
      selector: "{{ textarea }}", 
      menubar: true, 
      plugins: "hr code preview", 
      content_css:"https://x.x.x/x/css/backend-boostrap.css", 
      remove_linebreaks: false, 
      convert_newlines_to_brs: true 
     }); 
    }); 
</script> 
{% endblock %}