Дизайнер недавно передал мне дизайн сайта, который я создаю для клиента. Они отличные дизайны, но я действительно ломаю голову над тем, как я собираюсь реализовать это на сайте.
Содержимое может быть легко разбито на блоки или порции данных, где я мог бы выделить текстовую область для ввода текста, пару полей символов для кнопок ссылок и т. Д. И последовательно отобразить их на странице.
Проблема (например, почему я не просто использую Django-CMS и др.) Состоит в том, что блоки совершенно уникальны друг для друга. Есть, пожалуй, 20 разных моделей, которые я бы построил для каждого типа блоков. Вместо того, чтобы взламывать готовые CMS, я хотел бы построить модель Page, а затем просто иметь M2M, который ссылается на упорядоченный список подклассов моего абстрактного класса Block. Я надеюсь, что не потеряю тебя.
Я не понимаю, как я могу это сделать. Эти вопросы приходят на ум:
Есть ли простая CMS, которая уже все это делает? Я трачу свое время, пытаясь понять физику?
Подклассы My Blocks будут технически другого типа. Нужны ли мне дженерики для сквозного класса M2M для ссылки на них? Это так, как мне это сделать?
Как отобразить x различных форм в контексте встроенного администратора? (Я хотел бы иметь страницу формы со списком блоков внизу)
Как пользователь может указать тип блока во встроенном элементе управления?
Редактировать: Или, альтернативно, как насчет CMS на основе тегов-шаблонов?
Я думаю о чем-то вроде добавления этого в мой шаблон:
{% editable 'unique_id' 'content-type' %}
Еще один пример:
{% editable 'home-intro' 'text' %}
Тогда я мог бы просто прикрепить их к шаблонам, которые я хочу редактировать, так, как я хочу, чтобы они были редактируемыми, и при входе в систему клиент мог видеть ссылки «Редактировать текст», «Редактировать ссылку», «Редактировать изображение» который просто всплыл в правильном поле.
Это сделало бы вещи более заблокированными, но макет должен оставаться твердым (а клиент ничего не знает о HTML / CSS), так что это один или другой из этих методов IMO.