Rumah > Soal Jawab > teks badan
由于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',']}')}}
阿神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 插值的定界符。
高洛峰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 = ' }}'