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

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

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

répondre à tous(2)
阿神

La première solution est de changer la syntaxe de jinja2, mais ce n'est pas recommandé

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

De cette façon, le séparateur de variables de Jinja2 peut être modifié en "${}", et bien sûr, davantage de paramètres peuvent être effectués. Mais ce n'est pas seulement inhabituel pour les rédacteurs de modèles côté serveur, mais un problème plus grave est que certains éditeurs de ce type de modèles ne peuvent pas reconnaître ce symbole.

La meilleure solution est de changer la syntaxe de VUE. Je la définis de cette façon dans tous les projets et je l'écris simplement devant le code VUE, afin qu'il n'y ait aucun problème avec la migration du code

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

Vue.config.unsafeDelimiters = ['{!!', '!!}']
// 修改原生 HTML 插值的定界符。
小葫芦

Vous pouvez strictement limiter le {{}} dans JinJa à {{ xx }} Mes projets sont tous configurés comme ça

.
app.jinja_env.variable_start_string = '{{ '
app.jinja_env.variable_end_string = ' }}'
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal