Я хочу обслуживать свои статические файлы, используя хранилища Google.Я успешно достиг своей цели, используя следующие настройки:
Вот структура моего приложения:
config.py
app|
|static|
|assets|
|js
|css
|images
|templates
|__init__.py
init .py:
from flask_assets import Environment, Bundle
import flask_cdn import CDN
bundles = {
...
}
app = Flask(__name__)
assets = Environment(app)
assets.register(bundles)
CDN(app)
...
config.py:
...
CDN_DOMAIN = "storage.googleapis.com/my-bucket"
CDN_HTTPS = True
FLASK_ASSETS_USE_CDN = True
Используя выше, все мои файлы изображений, css, js правильно указывают на корзину.
Вот мой вопрос: Только вышеработает, если есть также локальная (локальная для экземпляра) копия статического каталога (static / assets / js, css, ...).Я не хочу хранить локальную копию.Я хочу иметь централизованную статическую папку (в хранилищах Google), чтобы все мои экземпляры могли совместно использовать статический ресурс.
В данном случае я имею в виду экземпляр механизма вычислений.
Вот часть ошибки, которую я получаю:
File ".../mysite/local/lib/python2.7/site-packages/webassets/merge.py", line 77, in data
f = open(self.filename, 'r', encoding='utf-8')
IOError: [Errno 2] No such file or directory: '/var/www/html/mysite/appk/static/assets/css/a.css'
Таким образом, по существу, когда я удаляю содержимое папки активов, url_for CDN больше не работает должным образом.