1. Работа с SQLite:
```python
import sqlite3
conn = sqlite3.connect("database.db")
cursor = conn.cursor()
cursor.execute("CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT)")
cursor.execute("INSERT INTO users (name) VALUES (?)", ("Алиса",))
conn.commit()
conn.close()
```
2. Интеграция с Flask:
```python
from flask import Flask, g
import sqlite3
app = Flask(__name__)
def get_db():
if "db" not in g:
g.db = sqlite3.connect("database.db")
return g.db
@app.teardown_appcontext
def close_db(error):
db = g.pop("db", None)
if db:
db.close()
```
3. Использование SQLAlchemy:
```python
from flask_sqlalchemy import SQLAlchemy
app.config["SQLALCHEMY_DATABASE_URI"] = "sqlite:///mydb.db"
db = SQLAlchemy(app)
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(80))
```
1. Создайте базу данных и таблицу `students` с полями `id`, `name`, `grade`.
2. Добавьте форму во Flask-приложение для добавления студента в БД.
3. Реализуйте вывод списка студентов на HTML-странице.
4. Создайте маршрут, который удаляет запись из базы данных.
1. Сделайте форму редактирования записи о студенте.
2. Реализуйте поиск по имени с помощью SQL-запроса.
3. Подключите SQLAlchemy и перенесите логику работы с БД на ORM.
4. Добавьте шаблон отображения студентов в виде таблицы HTML.
1. Как подключить SQLite к Flask-приложению?
2. Что такое ORM и зачем нужен SQLAlchemy?
3. В чём отличие execute() и query()?
4. Как сохранить и извлечь данные из базы?
5. Как организовать взаимодействие шаблонов Flask с базой данных?