flask - 如何使用带有 Vuejs 的 “Mustache” 语法的 Flask 模板?

标签 flask vue.js jinja2

<分区>

似乎有一些重叠。

例如,这段代码:

  <div id="entry">
    <textarea rows="20" v-model="input"></textarea>
    <div>
      {{ input | md }}
    </div>
  </div>
  <script src="https://unpkg.com/vue@2.1.3/dist/vue.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/marked/0.3.6/marked.min.js"></script> 
 <script>
var vm = new Vue({
  el: '#entry',
  data: {
    input: ''
  },
  filters: {
    md: function(val){
      return marked(val)
    }
  }
})
</script>

似乎在这里工作正常:https://jsfiddle.net/5qvc815w/ (除了 markdown 中呈现的 html 标签)

但是在 flask 中我得到了

jinja2.exceptions.TemplateAssertionError
TemplateAssertionError: no filter named 'md'

它似乎在寻找 jinja2 来发现花括号中的内容,而不是它应该在 vue.js 中发现的内容。

最佳答案

当 Vue 的默认插值分隔符与另一个框架冲突时,您可以 customize them .

var vm = new Vue({
  delimiters:['${', '}'],
  el: '#entry',
  data: {
    input: ''
  },
  filters: {
    md: function(val){
      return marked(val)
    }
  }
})

这样使用:

<div>
  ${ input | md }
</div>

关于flask - 如何使用带有 Vuejs 的 “Mustache” 语法的 Flask 模板?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45203736/

相关文章:

python - flask : How to serve static files from template directory?

python - Flask-SQLAlchemy 引发 : AttributeError: module 'psycopg2' has no attribute 'paramstyle'

python - Flask - 如何将 request.files ['image' ] 读取为 base64?

vue.js - 以编程方式重定向到 vue-router 应用程序外部但在同一域中的 URL?

for 循环中的 Ansible Jinja2 模板条件

python - Flask-SQLAlchemy : Manipulate attribute of a data upon fetching

javascript - 如何动态地将表值分配给 v-for

vue.js - VueJS 过滤器不工作

python - 在 Jinja2 中将 int 转换为 str

python - 在 Jinja2 中禁用后重新启用自动转义