@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 еще более гибко в зависимости от ваших потребностей.