Falsk模板Jinja2与Vue冲突解决方案
申明禁止 Jinja 加载的区域
1 | |
使用 Jinja2 的 raw 标签标记 JavaScript 模板代码
1 | |
修改 Jinja2 的语法定界符号
1 | |
修改 JavaScript 模板的语法定界符号
1 | |
折中方案
如果你觉得使用 raw 标签太麻烦,而修改语法定界符又不习惯,这里还有一个折中方法:两边都使用双花括号作为定界符,但根据花括号内部是否添加空格来进行区分。
具体来说,对 Jinja2 变量使用 Jinja2 标准语法,也就是使用 。实际示例如下:
1 | |
而 JavaScript 模板使用没有空格的双花括号,即:
1 | |
这是一种更适合心细的懒人的方法,如果是团队项目,可能会对不习惯这种用法的人造成困扰,记得在文档里注明。这种方式只需要修改 Jinja2 定界符:
1 | |
另外需要注意的是,如果你使用了其他 Flask 扩展的内置 Jinja2 模板或宏,需要确保它们都使用了包含空格的标准 Jinja2 语法。举例来说,用来方便集成 Bootstrap 的 Flask-Bootstrap 就没法使用,需要使用替代的 Bootstrap-Flask。其他扩展,比如 Flask-Admin,Flask-Security 暂未测试,欢迎了解的同学反馈兼容情况。
Falsk模板Jinja2与Vue冲突解决方案
https://itxiaopang.github.io/p/c04348b87aa7486ca03f09abd5502d1f/