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

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

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

CRUD — четыре действия над данными: Create (создать заявку, форма «Добавить»), Read (показать список, таблица заявок), Update (изменить заявку, форма «Редактировать»), 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 — это четыре действия над данными. Впиши их русскими словами через запятую (в любом порядке): создать, …

Подсказка: Иди по буквам аббревиатуры в том же порядке, как в уроке: каждая — одно действие, которое ты делал с заявкой в мини-CRM.

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

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

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

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

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

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

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

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

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

Контрольный вопрос. Менеджер работает с заявками в CRM. Отметь ВСЕ пары «действие менеджера → буква CRUD», которые соответствуют друг другу верно.

Выберите все верные варианты.

АДобавил новую заявку через форму «Добавить» → C
БОткрыл таблицу и увидел список заявок → R
ВИзменил статус заявки на «оплачено» → U
ГУдалил тестовую заявку → C
ДОткрыл форму редактирования → D

Подсказка: Сверь каждое действие с расшифровкой CRUD: Create, Read, Update, Delete — по порядку букв.

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

Контрольный вопрос. Claude Code собрал страницу-список без пагинации: все 500 заявок выводятся одним длинным списком без разбивки на страницы. Соответствует ли это заданию из урока?

АНет — в задании из урока явно просили таблицу с пагинацией
БДа — задание не уточняло формат вывода списка
ВДа, если заявок меньше 1000

Подсказка: Вернись к формулировке задания для Claude Code в начале урока и сверь её слово в слово с тем, что получилось.

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

Что дальше

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

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

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