РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
354 of 643 menu

Метод init_app

Метод init_app применяется к объекту SQLAlchemy и привязывает его к приложению Flask. Первым параметром передаётся экземпляр приложения app. Это позволяет использовать один объект базы данных для нескольких приложений, а также настраивать подключение после создания расширения.

Синтаксис

db.init_app(app)

Пример

Давайте создадим объект SQLAlchemy и привяжем его к приложению через init_app:

from flask import Flask from flask_sqlalchemy import SQLAlchemy db = SQLAlchemy() app = Flask(__name__) app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///db.sqlite' db.init_app(app) @app.route('/') def index(): return 'database connected'

Результат выполнения кода для адреса /:

<+html+> database connected <-html+>

Пример

Давайте создадим модель и выполним запрос после инициализации расширения:

from flask import Flask from flask_sqlalchemy import SQLAlchemy db = SQLAlchemy() app = Flask(__name__) app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///db.sqlite' db.init_app(app) class User(db.Model): id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(50)) with app.app_context(): db.create_all() user = User(name='abcde') db.session.add(user) db.session.commit() res = User.query.first() @app.route('/') def index(): return res.name

Результат выполнения кода для адреса /:

<+html+> abcde <-html+>

Смотрите также

  • класс SQLAlchemy,
    который создаёт расширение для работы с базой данных
  • метод create_all,
    который создаёт все таблицы моделей
  • метод drop_all,
    который удаляет все таблицы моделей
  • атрибут session,
    который предоставляет доступ к сессии базы данных
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить