Flask-Asset不会在模板上创建正确的URL

时间:2015-04-10 13:48:31

标签: flask flask-assets

我无法弄清楚为什么Flask-CDN没有使用Amazon CloudFront网址为我的静态文件构建模板。这是我的设置:

1)配置cdn域并要求Flask-Assets使用cdn:

class AppConfig(BaseConfig):
    DEBUG = False
    FLASK_ASSETS_USE_CDN = True
    CDN_DOMAIN = "mydomain.cloudfront.net"

2)带有CDN对象的Flask应用程序:

config_object = AppConfig
app = flask.Flask(config_object.PROJECT_NAME, static_folder='web/static')
app.config.from_object(config_object)

# Bundles are configured here (many of them!) to generate the app.js file

if config_object.DEBUG is False:
    CDN(app)

app.run(host='0.0.0.0')

3)使用资产的模板:

{% assets "js_app" %}
<script type="text/javascript" src="{{ ASSET_URL }}"></script>
{% endassets %}

4)最后,服务器构建的html是:

<script type="text/javascript" src="/static/gen/app.js?40c12882"></script>

我想知道html为什么不包含我的CDN域,因为它应该是这样生成的:

<script type="text/javascript" src="http://mydomain.cloudfront.net/static/gen/app.js?40c12882"></script>

谢谢。

1 个答案:

答案 0 :(得分:2)

确定。发现了问题。最新版本的Flask-Assets on pip(0.10)不包含当前版本的文档中描述的CDN功能,即0.10。