recherche

Maison  >  Questions et réponses  >  le corps du texte

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',']}')}}
天蓬老师天蓬老师2802 Il y a quelques jours890

répondre à tous(2)je répondrai

  • 阿神

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

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

    répondre
    0
  • 高洛峰

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

    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 = ' }}'
    

    répondre
    0
  • Annulerrépondre