Ответы пользователя по тегу Flask
  • Как реализовать полноценный поиск по подстроке в приложении на flask?

    @s1dney Автор вопроса
    К сожалению, на сегодняшний момент кроме whoosh-sqlalchemy для несерьезного поиска в flask вариантов нет. Пришлось его немного напильником доработать до удовлетворительного состояния.
    Но и даже так он не совсем отвечает основным требованиям к поиску: нет pagination, отсутствует сортировка результата и гибкость в поиске (например, нельзя искать в джойнах). Лучше было бы сразу поставить чистый whoosh и написать обертку для него, исходя из текущих целей.
    Ответ написан
    Комментировать
  • Как реализовать периодические задания в python/flask?

    @s1dney Автор вопроса
    Пытался прикрутить Celery, но выглядело это как костыль, и я написал очень примитивный алгоритм запуска тасков внутри приложения Flask с сохранением промежуточной информации о выполнении в уже существующей базе данных. Таски выполняются в отдельных тредах.
    Минимальный оверхед и еще 100 строчек кода для того, чтобы синхронизировать и восстановить таски после дауна uwsgi.
    Ответ написан
    Комментировать
  • Flask: как собрать простую форму?

    @s1dney
    wtf удобен в работе с большими и сложными формами и когда необходимо эти формы генерировать динамически и удобно, избавляя себя от лишнего кода в темплейтах
    а если вам нужна форма с 3-мя полями, зачем натягивать на flask лишние зависимости, если это все укладывается в 5 строчек без wtf:
    <form>
    <input type="text">
    <input type="file">
    <button type="submit">OK</button>
    </form>


    @app.route('/test', methods=['GET', 'POST'])
    def test():
    	form = request.form
    Ответ написан
    1 комментарий
  • Почему logging в Flask делает больше одной записи?

    @s1dney
    когда в параметрах запуска присутствует debug и при создании объекта класса logging явно не указан уровень логиирования вполне ожидаемо, что любой импортируемый модуль будет спамить в дебаг все подробности своей работы
    при создании логгера нужно указывать уровень выше debug, чтобы избежать нежелательного спама

    а если нужен дебаг, то можно ручками для sqlite в данном случае, вот так указать ему нужный уровень
    sqlite_log = logging.getLogger("sqlite")
    sqlite_log.setLevel(logging.ERROR)
    Ответ написан
    Комментировать
  • Как динамично переводить текст в Jinja2?

    @s1dney
    Вот это поможет - Babel.
    А вот тут даже есть пример как это использовать с Flask.
    Ответ написан
    Комментировать