@rebekah
В Flask есть несколько способов работы с базами данных. Один из них - использование ORM (объектно-реляционное отображение), такое как SQLAlchemy.
Для начала необходимо установить SQLAlchemy, выполнив команду:
1
|
pip install sqlalchemy |
Затем в приложении Flask создайте экземпляр класса SQLAlchemy
и настройте подключение к базе данных. Например:
1 2 3 4 5 6 |
from flask import Flask from flask_sqlalchemy import SQLAlchemy app = Flask(__name__) app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///database.db' # указать URI базы данных db = SQLAlchemy(app) |
Теперь вы можете создать модели данных, которые будут представлять таблицы в базе данных. Например:
1 2 3 4 5 6 |
class User(db.Model): id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(80), unique=True, nullable=False) def __repr__(self): return f'<User {self.username}>' |
db.Column
определяет поля таблицы, а db.Model
- базовый класс моделей данных.
После создания моделей вы можете создать таблицы в базе данных при помощи команды db.create_all()
:
1 2 3 4 |
@app.route('/create_table') def create_table(): db.create_all() return 'Таблицы созданы' |
Теперь вы можете работать с базой данных, выполняя запросы, добавляя, обновляя и удаляя записи. Например, для добавления новой записи в базу данных:
1 2 3 4 5 6 |
@app.route('/add_user/<username>') def add_user(username): new_user = User(username=username) db.session.add(new_user) db.session.commit() return 'Пользователь добавлен' |
А для выборки всех пользователей из базы данных:
1 2 3 4 |
@app.route('/users') def get_users(): users = User.query.all() return ' '.join([user.username for user in users]) |
Это только примеры, и вы можете настроить и использовать SQLAlchemy еще более гибко в зависимости от ваших потребностей.