摘要
举一个简单的
python文件app.py
from flask import Flask, render_templateapp = Flask(__name__)@app.route('/')def homepage(): return render_template('homepage.html')if __name__ == '__main__': app.run(host='0.0.0.0', debug=True)
建立一个templates目录,以及创建文件homepage.html
{ {name}}
这个已经是一个最简单的flask+angular的例子了。使用python app.py
打开浏览器访问 http://localhost:5000
发现了什么,你会看到什么都没有。这是因为{ {name}}
先被flask的jinja解析了,然后angular什么也没有拿到。
有很多种方法可以解决。
方法1
使用jinja的raw, 使用raw之后,里面的就不会被jinja意外解析了
{%raw%}{ {name}}
{%endraw%}
方法2
修改jinja的配置
app = Flask(__name__)app.jinja_env.variable_start_string = '%%'app.jinja_env.variable_end_string = '%%'
方法3
修改angular
{[name]}
其他
使用pyjade+flask+angular时也会遇到类似的问题。可以使用方法2解决。
这3种方法算是感觉最好的了。Good luck.