Возможно ли добавить дополнительные статические пути для моего локального экземпляра Flask?
Я хочу иметь папку по умолчанию static
для хранения файлов js/css/images для сайта и другой папки, например. designs
сохранить мои конкретные активы. Я не хочу размещать designs
папку внутри static
, если существует лучшее решение.
Более статический путь в локальном экземпляре Flask
Ответ 1
Я использовал следующий подход:
# Custom static data
@app.route('/cdn/<path:filename>')
def custom_static(filename):
return send_from_directory(app.config['CUSTOM_STATIC_PATH'], filename)
Переменная CUSTOM_STATIC_PATH
определена в моей конфигурации.
И в шаблонах:
{{ url_for('custom_static', filename='foo') }}
Caveat emptor - я не уверен, что он защищен;)
Ответ 2
Вы можете использовать Blueprint со своим собственным статическим каталогом http://flask.pocoo.org/docs/blueprints/
Чертеж
blueprint = Blueprint('site', __name__, static_url_path='/static/site', static_folder='path/to/files')
app.register_blueprint(blueprint)
Шаблон
{{ url_for('site.static', filename='filename') }}