Параметр root
Параметр root передаётся в функцию
static_file и указывает корневую
директорию, внутри которой Bottle будет искать
запрашиваемый файл. Путь к файлу задаётся
относительно этой директории. Если файл не
найден, возвращается ошибка 404.
Синтаксис
static_file(filename, root, [mimetype], [download])
Пример
Давайте отдадим файл 'index.html' из
директории 'static':
from bottle import Bottle, static_file
app = Bottle()
@app.route('/static/<filename>')
def server_static(filename):
return static_file(filename, root='static')
Результат выполнения кода для адреса
/static/index.html:
<!DOCTYPE html>
<html>
<body>
hello
</body>
</html>
Пример
Давайте укажем абсолютный путь к директории с картинками:
from bottle import Bottle, static_file
import os
app = Bottle()
@app.route('/images/<filename>')
def server_images(filename):
root = os.path.join(os.path.dirname(__file__), 'images')
return static_file(filename, root=root)
Результат выполнения кода для адреса
/images/logo.png - отдача файла
'logo.png' из директории
'images'.
Пример
Давайте отдадим файл с явным указанием MIME-типа:
from bottle import Bottle, static_file
app = Bottle()
@app.route('/data/<filename>')
def server_data(filename):
return static_file(filename, root='data', mimetype='application/json')
Результат выполнения кода для адреса
/data/info.json - отдача файла
'info.json' с типом
'application/json'.
Смотрите также
-
функцию
static_file,
которая отдаёт статический файл клиенту -
параметр
mimetype,
который задаёт MIME-тип отдаваемого файла -
параметр
download,
который включает скачивание файла -
параметр
etag,
который управляет заголовком ETag