Задать вопрос
@exctac

DRF. Лучший подход создания API для статичных страниц?

Привет. Есть проект, бэк и фронт разделен на Django/DRF и REACT соответсвенно.
На фронте есть как статичный контент так и динамичный. Динамичный хорошо ложится на DRF а вот со статикой проблемы.
Статичных страниц несколько и будут добавляться новые, содержимое разное. Необходимо решение для создания АПИ для статичных страниц, чтоб на фронт уходил json с данными для конкретной страницы.
Пришел к одному универсальному решению с использованием django-jsonform, помогающая удобно работать с json в админке.

Будет одна модель для всех страниц.
У модели будет поле для слага страницы, а данные для страницы хранятся в поле
data = JSONField(schema=get_schema).
Для каждой страницы будет предустановленная схема данных, соответсвующая конкретному слагу. Т.е слаги тоже создаются заранее для каждой страницы: about, contacts и тп. Слаги уникальные.
В админке при создании страниц указывается слаг (выбирается из списка допустимых), с помощью метода get_schema(slug) определяется нужная схема, по ней формируются поля формы, и вуаля у нас сгенерилась форма по с нужными полями. Данные заполняются, сохраняются.

Фронт знает слаги и схемы данных, отправляет запрос на pages/<slug> и получает данные. Если в админке страницы не созданы или удалены, фронт получит 404 или пустоту.

Разумеется у такого подхода есть и плюсы и минусы.
Как считаете годным ли считается такой подход или есть другие более проверенные способы?
  • Вопрос задан
  • 79 просмотров
Подписаться 1 Простой 8 комментариев
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы