Соответствие текстовых строк с набором ключевых слов / категорий (R)

Флажок добавляет статический маршрут для обслуживания статических файлов. Когда вы находитесь в производстве, вы обычно «коротко замыкаете» этот маршрут, чтобы Nginx обслуживал файлы до того, как запрос когда-либо попадет в ваше приложение. Вместо того, чтобы добавлять это «короткое замыкание», оставьте это и разрешите Flask обрабатывать запросы. Перезапишите статический маршрут с помощью пакета, который обернут флагом-Login login_required.

from flask_login import login_required

app.view_functions['static'] = login_required(app.send_static_file)

Это, как правило, избыточно, поскольку вы хотите, чтобы действительно статические файлы важно, чтобы страницы выглядели правильно для пользователей без регистрации (в противном случае CSS даже не будет отправлен на страницу входа). Вместо этого «короткое замыкание» статической папки, которую должен обслуживать Nginx, и определите маршрут, который будет обслуживать защищенные файлы из какого-либо другого каталога, например папки экземпляра. См. flask.send_from_directory .

import os
from flask import send_from_directory
from flask_login import login_required

@app.route('/protected/')
@login_required
def protected(filename):
    return send_from_directory(
        os.path.join(app.instance_path, 'protected'),
        filename
    )

Это будет обслуживать файлы из каталога «protected» в папке экземпляра только для входа в систему. Могут быть добавлены и другие ограничения, например, только для определенных пользователей доступ к определенным файлам. Подобно статическому пути, вы можете сгенерировать URL-адрес файла с помощью:

url_for('protected', filename='data/example.csv')

1
задан aaron 8 March 2019 в 04:28
поделиться