CRUD без боли: основа админки

Хорошая новость про сложный паттерн: 70% любой админки — это CRUD. Четыре простых действия над данными: Create (создать), Read (прочитать), Update (изменить), Delete (удалить). Освоив их, ты соберёшь почти любую CRM.

🎯 После урока сможешь: собрать основу админки на четырёх действиях CRUD.

  CRUD — четыре действия над данными:

   C  Create  ─ создать заявку        (форма «Добавить»)
   R  Read    ─ показать список       (таблица заявок)
   U  Update  ─ изменить заявку        (форма «Редактировать»)
   D  Delete  ─ удалить заявку         (кнопка «Удалить»)

Шаг 1. Задание для Claude Code

«Сделай мини-CRM на FastAPI + Jinja2: страница со списком заявок (таблица с пагинацией), формы создания и редактирования, удаление. Данные в SQLite. Оформи простым CSS (Pico), без дизайнерских изысков».

Веб-админка: таблица заявок со столбцами имя, курс, статус и кнопками редактировать/удалить, сверху кнопка «Добавить».

Шаг 2. Дизайн не нужен — нужна функция

Не трать время на красоту. Клиенту нужна функциональность, а не дизайн: чтобы данные были на месте, кнопки работали, ничего не терялось. Простой готовый CSS (Pico, Simple.css) делает интерфейс аккуратным одной строкой — этого достаточно.

Шаг 3. Как выглядит список

Каркас страницы-списка простой: обработчик отдаёт данные из базы в шаблон, шаблон рисует таблицу. Читать целиком не нужно — важно узнавать структуру:

@app.get("/zayavki")
async def spisok(request: Request):
    zayavki = db.query("SELECT * FROM zayavki ORDER BY id DESC")
    return templates.TemplateResponse(
        "spisok.html", {"request": request, "zayavki": zayavki}
    )

Контрольный вопрос. CRUD — это четыре действия над данными. Впиши их русскими словами через запятую (в любом порядке): создать, …

Подсказка: Create, Read, Update, Delete — по-русски: создать, прочитать, изменить, удалить.

Онлайн-проверка ответа появится позже

Контрольный вопрос. Сколько времени уделить дизайну админки клиента?

АМинимум — нужна функциональность; аккуратный вид даёт готовый CSS (Pico)
БКак можно больше, дизайн важнее функций
ВСделать сложную анимацию на каждой кнопке

Подсказка: Клиенту важно, чтобы работало и ничего не терялось.

Онлайн-проверка ответа появится позже

Контрольный вопрос. Почему CRUD так важен для этого паттерна?

АЭто ~70% любой админки — освоив CRUD, соберёшь почти любую CRM
БЭто единственное, что умеет FastAPI
ВБез CRUD нельзя войти в систему

Подсказка: Четыре действия над данными встречаются в каждой админке.

Онлайн-проверка ответа появится позже

Что дальше

Список и формы готовы — но пока в систему может зайти кто угодно. В следующем уроке добавим самое важное и самое сложное: вход по логину и роли. Разберём по шагам.

Назад  ·  ↑ В начало урока  ·  ⌂ В начало курса  ·  Вперёд →

Школа Виктора Комлева