python - 关于flask模板中使用url_for() 和 vuejs 冲突的问题 ?
天蓬老师
天蓬老师 2017-04-18 09:41:15
0
2
892

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

欢迎选择我的课程,让我们一起见证您的进步~~

membalas semua(2)
阿神

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 插值的定界符。
小葫芦

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 = ' }}'
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan