Атрибут root_path
Атрибут root_path доступен у каждого экземпляра
класса Flask и содержит абсолютный путь к каталогу
на диске, где расположен модуль или пакет, из которого
было создано приложение. Значение вычисляется автоматически
на основе параметра import_name, который передаётся
в конструктор Flask.
Этот атрибут используется внутри фреймворка для поиска
шаблонов, статических файлов и других ресурсов, если
для них не заданы явные пути. Зная root_path,
можно строить собственные абсолютные пути к файлам
проекта, например к каталогу с ресурсами или к файлу
конфигурации.
Синтаксис
app.root_path
Пример
Давайте выведем значение атрибута root_path
для простого приложения:
from flask import Flask
app = Flask(__name__)
res = app.root_path
print(res)
Результат выполнения кода:
'/home/user/project'
Пример
Давайте с помощью root_path построим абсолютный
путь к файлу данных в каталоге проекта:
import os
from flask import Flask
app = Flask(__name__)
res = os.path.join(app.root_path, 'data', 'users.txt')
print(res)
Результат выполнения кода:
'/home/user/project/data/users.txt'
Пример
Давайте проверим, что каталог шаблонов по умолчанию
действительно находится внутри root_path:
import os
from flask import Flask
app = Flask(__name__)
res = os.path.join(app.root_path, app.template_folder)
print(res)
Результат выполнения кода:
'/home/user/project/templates'
Смотрите также
-
класс
Flask,
который представляет приложение Flask -
атрибут
import_name,
на основе которого вычисляется root_path -
атрибут
template_folder,
который задаёт каталог шаблонов внутри root_path -
атрибут
static_folder,
который задаёт каталог статических файлов внутри root_path