Связывание TextBox и кнопки по умолчанию обновляется слишком поздно

Расширение Flask-SQLAlchemy, как и большинство расширений Flask, должно создаваться за пределами фабрики, а затем инициализироваться на заводе-изготовителе с помощью init_app. Это значит, что вы можете использовать объект db до создания приложения.

db = SQLAlchemy()

def create_app():
    app = Flask(__name__)
    db.init_app(app)
    return app

Приложение Flask, как и любой правильно разработанный проект Python, должно быть устанавливаемым пакетом. Это просто сделать: убедитесь, что ваш макет проекта имеет смысл, затем добавьте основной файл setup.py.

project/
    my_flask_package/
        __init__.py  # at the most basic, this contains create_app and db
    setup.py
from setuptools import setup, find_packages

setup(
    name='my_flask_package',
    version='1.0',
    packages=find_packages(),
    install_requires=['flask', 'flask-sqlalchemy'],
)
$ python setup.py sdist

Теперь вы можете установить приложение Flask, а также его базы данных, для использования в других проектах. Установите и импортируйте его во виртуальный файл второго проекта, затем создайте и нажмите приложение для его инициализации.

$ pip install my_flask_package-1.0.tar.gz
from my_flask_package import db, create_app
create_app().app_context().push()
db.session.query(...)

Если вы обеспокоены накладными расходами на создание своего приложения, вы можете добавить аргументы к функции create_app для управления тем, что инициализируется. В большинстве случаев это не должно быть проблемой.

30
задан H.B. 11 October 2018 в 12:08
поделиться

1 ответ

Добавьте UpdateSourceTrigger в текстовое поле со значением PropertyChanged. По умолчанию текстовое поле обновляет источник, когда он теряет фокус.

<TextBox Text="{Binding MyText, UpdateSourceTrigger=PropertyChanged}"/>
44
ответ дан 27 November 2019 в 16:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: