我无法弄清楚为什么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>
谢谢。
答案 0 :(得分:2)
确定。发现了问题。最新版本的Flask-Assets on pip(0.10)不包含当前版本的文档中描述的CDN功能,即0.10。