cari

Rumah  >  Soal Jawab  >  teks badan

python - 关于flask模板中使用url_for() 和 vuejs 冲突的问题 ?

由于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',']}')}}
天蓬老师天蓬老师2804 hari yang lalu901

membalas semua(2)saya akan balas

  • 阿神

    阿神2017-04-18 09:43:15

    Penyelesaian pertama ialah menukar sintaks jinja2, tetapi tidak disyorkan

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

    Dengan cara ini, pemisah pembolehubah Jinja2 boleh ditukar kepada "${}", dan sudah tentu lebih banyak tetapan boleh dibuat. Tetapi ini bukan sahaja tidak biasa kepada penulis templat sisi pelayan, tetapi masalah yang lebih serius ialah sesetengah editor untuk templat jenis ini tidak dapat mengenali simbol ini.

    Penyelesaian terbaik ialah menukar sintaks VUE Saya mentakrifkannya dengan cara ini dalam semua projek dan hanya menulisnya di hadapan kod VUE, supaya tiada masalah dengan pemindahan kod

    // ES6 模板字符串
    Vue.config.delimiters = ['${', '}']
    // 修改文本插值的定界符。
    
    Vue.config.unsafeDelimiters = ['{!!', '!!}']
    // 修改原生 HTML 插值的定界符。

    balas
    0
  • 高洛峰

    高洛峰2017-04-18 09:43:15

    Anda boleh mengehadkan {{}} dalam JinJa kepada {{ xx }}. Semua projek saya disediakan seperti ini

    app.jinja_env.variable_start_string = '{{ '
    app.jinja_env.variable_end_string = ' }}'
    

    balas
    0
  • Batalbalas