3

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

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>

谢谢你。

4

1 回答 1

2

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

于 2015-04-11T12:45:30.443 回答