美文网首页PYTHON收藏
关于flask模板中使用url_for() 和 vuejs 冲突

关于flask模板中使用url_for() 和 vuejs 冲突

作者: ZhouLang | 来源:发表于2016-12-01 21:29 被阅读68次

    由于vue的{{}}和jinja 冲突 所以我把 vue的改成了{[]}

    {{url_for('static', filename='{[id]}.jpg')}}

    然后输出是

    /static/%7B%5Bid%5D%7D.jpg

    想了个很蠢的办法

    {{ url_for('static', filename='{[id]}.jpg').replace('%7B%5B','{[').replace('%5D%7D',']}')}}


    第一种方案就是更改jinja2的语法,但是不推荐

    env = Environment(variable_start_string="${", variable_end_string="}")

    这样可以把Jinja2的变量分隔符改为“${}”,当然还可以做更多的设置。但这样做不只对服务器端模板的编写者不习惯,更严重的问题是一些针对这种模板的编辑器也认不出这个符号了。

    最好的方案就是更改VUE的语法,我在所有的项目中都是这样定义的,写在VUE代码的前面即可,这样代码迁移也不会出问题

    // ES6 模板字符串

    Vue.config.delimiters = ['${', '}']

    // 修改文本插值的定界符。

    Vue.config.unsafeDelimiters = ['{!!', '!!}']

    // 修改原生 HTML 插值的定界符。

    相关文章

      网友评论

        本文标题:关于flask模板中使用url_for() 和 vuejs 冲突

        本文链接:https://www.haomeiwen.com/subject/likfmttx.html