Я хотел бы рассказать о принятом ответе выше для всех, кому интересно, на что устанавливается app.config['CUSTOM_STATIC_PATH']
.
В моем случае мне понадобился /.well-known
dir, и вот что я использовал:
Я поместил новый каталог в корень моего приложения с именем well-known
.
Я установил конфиг var так:
CUSTOM_STATIC_PATH=app.root_path + '/well-known/'
Затем я использовал эту переменную как таковую:
@app.route('/.well-known/<path:filename>')
def wellKnownRoute(filename):
return send_from_directory(app.config['CUSTOM_STATIC_PATH'], filename, conditional=True)
Установка conditional=True
является умной, это будет 404 любых запросов, где файл не существует.
И, конечно, если вам интересно, зачем вам нужно устанавливать значение конфигурации для пути к каталогу, вы этого не сделаете. Вы всегда можете просто использовать значение конфига на месте, давая вместо этого это:
@app.route('/.well-known/<path:filename>')
def wellKnownRoute(filename):
return send_from_directory(app.root_path + '/well-known/', filename, conditional=True)
Мои файлы для URL-пути /.well-known
всегда собирались из корневого каталога приложения /well-known
dir, поэтому нет смысла усложнять его.
И обратите внимание, что вам лучше обработать этот конкретный случай с nginx или любого другого сервера, который вы используете, настроив дополнительный блок сервера и обслуживая файл из-за пределов приложения, мне просто нужна была эта настройка для dev env для тестирования.