РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
263 of 643 menu

Атрибут static_folder

Атрибут static_folder применяется к объекту Blueprint и указывает, из какой папки отдавать статические файлы. По умолчанию это папка 'static' внутри директории блюпринта. Путь можно задать абсолютным или относительным. Если передать None, статика для блюпринта отключается. Также атрибут работает в паре с static_url_path, который задаёт адрес, по которому файлы будут доступны.

Синтаксис

Blueprint(name, import_name, static_folder='static')

Пример

Давайте создадим блюпринт с папкой статики 'static' и отдадим из неё файл:

from flask import Flask, Blueprint app = Flask(__name__) bp = Blueprint( 'bp', __name__, static_folder='static' ) @app.route('/') def index(): return 'hello' app.register_blueprint(bp, url_prefix='/bp')

Файл static/style.css внутри пакета блюпринта будет доступен по адресу /bp/static/style.css.

Пример

Давайте укажем собственную папку и собственный URL-путь для статики:

from flask import Flask, Blueprint app = Flask(__name__) bp = Blueprint( 'bp', __name__, static_folder='assets', static_url_path='/files' ) @app.route('/') def index(): return 'hello' app.register_blueprint(bp, url_prefix='/bp')

Теперь файлы из папки assets доступны по адресу /bp/files/....

Пример

Давайте отключим статику для блюпринта, передав None:

from flask import Flask, Blueprint app = Flask(__name__) bp = Blueprint( 'bp', __name__, static_folder=None ) @bp.route('/') def index(): return 'hello' app.register_blueprint(bp, url_prefix='/bp')

В этом случае блюпринт не обслуживает статические файлы, но его маршруты продолжают работать.

Смотрите также

  • класс Blueprint,
    который создаёт блюпринт приложения
  • атрибут template_folder,
    который задаёт папку с шаблонами блюпринта
  • атрибут url_prefix,
    который задаёт префикс адресов блюпринта
  • метод route,
    который вешает обработчик на адрес блюпринта
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить