В этом исчерпывающем руководстве мы рассмотрим процесс моделирования данных в Flask с использованием SQLAlchemy. Мы охватим настройку вашего приложения на Flask, определение моделей и создание экземпляра базы данных SQLAlchemy. К концу статьи вы реализуете мини-проект, который демонстрирует эти концепции на практике.

Введение в Flask и SQLAlchemy

Flask – это микро-фреймворк для веба, написанный на Python, известный своей простотой и гибкостью. Он позволяет разработчикам быстро создавать веб-приложения с минимальной настройкой. SQLAlchemy, с другой стороны, является мощным инструментом SQL и библиотекой для объектно-реляционного отображения (ORM) для Python. Он предоставляет полный набор известных шаблонов постоянства на уровне предприятий, предназначенных для эффективного и высокопроизводительного доступа к базам данных.

ОНЛАЙН-ПРАКТИКУМ
КАК «ХАКНУТЬ» PYTHON С ПОМОЩЬЮ CHATGPT
ЧТО БУДЕТ НА ОБУЧЕНИИ?
  • Прямо в эфире решим типичные задачи программиста только с помощью ChatGPT
  • Возможности Python — расскажем что можно делать и сколько на этом зарабатывать?
  • Что ждет рынок программирования и почему мы решили сюда пойти

Настройка приложения Flask

Прежде чем перейти к моделированию данных, вам необходимо настроить среду Flask:

1. Создайте виртуальное окружение: обеспечьте изоляцию зависимостей вашего проекта, создав виртуальное окружение.

python -m venv venv

2. Активируйте виртуальное окружение:

  • На Windows: venv\Scripts\activate
  • На Unix или MacOS: source venv/bin/activate

3. Установите Flask и SQLAlchemy:

pip install Flask SQLAlchemy

Определение моделей с помощью SQLAlchemy

Модели в SQLAlchemy представляют таблицы в вашей базе данных и предоставляют структуру для хранения данных. Вот как определить простую модель:

1. Импортируйте SQLAlchemy: начните с импорта SQLAlchemy в вашем приложении.

from flask import Flask

from flask_sqlalchemy import SQLAlchemy

2. Настройте ваше приложение Flask для использования SQLAlchemy:

app = Flask(__name__)

app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///yourdatabase.db'

db = SQLAlchemy(app)

3. Определите модель: создайте класс, который наследует db.Model и определяет колонки вашей таблицы базы данных.

class User(db.Model):

id = db.Column(db.Integer, primary_key=True)

username = db.Column(db.String(80), unique=True, nullable=False)

email = db.Column(db.String(120), unique=True, nullable=False)

Создание экземпляра базы данных SQLAlchemy

После определения ваших моделей, вам нужно создать таблицы базы данных:

1. Создайте таблицы:

with app.app_context():

db.create_all()

2. Создание новой записи: вот как создать и вставить нового пользователя в базу данных.

new_user = User(username='john_doe', email='john@example.com')

db.session.add(new_user)

db.session.commit()

Реализация мини-проекта

Давайте свяжем все вместе в мини-проекте. Мы создадим небольшое веб-приложение, которое позволяет пользователям регистрироваться и отображать всех зарегистрированных пользователей.

1. Определите маршрут для регистрации: будет принимать имя пользователя и email, а затем создавать нового пользователя.

@app.route('/register', methods=['POST'])

def register():

username = request.form.get('username')

email = request.form.get('email')

if username and email:

new_user = User(username=username, email=email)

db.session.add(new_user)

db.session.commit()

return f"Пользователь {username} успешно создан."

else:

return "Отсутствует имя пользователя или email."

2. Определите маршрут для списка пользователей: будет запрашивать базу данных и выводить всех пользователей.

@app.route('/users')

def users():

users = User.query.all()

return render_template('users.html', users=users)

Заключение

Интеграция Flask с SQLAlchemy для моделирования данных предлагает надежное решение для разработки веб-приложений, обеспечивая эффективный способ взаимодействия с базами данных через ORM. Следуя шагам, описанным в этой статье, вы научились настраивать ваше приложение на Flask, определять модели и создавать экземпляр базы данных SQLAlchemy. Мини-проект иллюстрирует эти концепции, предлагая практическое применение ваших знаний.

3-дневный курс
НАУЧИСЬ СОЗДАВАТЬ TELEGRAM-БОТОВ НА PYTHON С CHATGPT
C НУЛЯ ЗА 3 ДНЯ
  • Освой Python и нейросети и узнай, как гарантированно получить первые 10 заказов
  • УЧАСТВОВАТЬ ЗА 0 РУБ.
  • Создай и прокачай собственного чат-бота
Участвовать бесплатно
Вебинар
ФРИЛАНС И ПРОЕКТНАЯ РАБОТАДЛЯ PYTHON-РАЗРАБОТЧИКА
  • Подарим подборку бесплатных инструментов для написания кода
Участвовать бесплатно