构造一个带有angular.js的烧瓶

时间:2013-04-19 08:36:49

标签: angularjs flask

如何使用angular.js前端构建flask应用程序? 什么是最佳做法?我是否应该使用像ngnix这样的webserver来托管静态文件,即使我正在进行开发工作?

在默认情况下,我可以像下面这样提供index.html:

@app.route('/')
def index():
    return make_response(open('static/index.html').read())

@app.route('/')
def index():
    return send_from_directory('static', 'index.html')

但是,有一个问题,我不能指向没有'../static'前缀的js文件。我只想指出angular.js和其他所有人:

<script src="lib/angular/angular.js"></script>

<script src="../static/lib/angular/angular.js"></script>

我可以更改烧瓶中的所有静态文件前缀吗?或者有解决这个问题的好方法吗?

感谢。

2 个答案:

答案 0 :(得分:4)

如果你真的想,你可以:

app = Flask(__name__, static_url_path='')

虽然我只使用绝对网址:

/static/lib/angular/angular.js

答案 1 :(得分:3)

我认为最佳做法是让您的网络服务器提供所有静态内容(angularjs,其他js文件,html,css,图像等)。

然后使用某种类型的约定(我喜欢使用'/ api'路径)来提供和接收烧瓶服务器的数据。

例如,在您的apache配置中:

<VirtualHost *:80>
    DocumentRoot /path/to/static/files
    WSGIScriptAlias /api /path/to/flask/flask.wsgi
    ...
</VirtualHost>