Как вы можете создавать настраиваемые поля в стиле Wordpress, используя страницы Django?
Одной из функций, которая делает CMS, такой как WordPress, мощной, является возможность добавлять дополнительные поля, которые могут использоваться в шаблоне. WordPress имеет то, что он называет настраиваемыми полями. Есть ли способ сделать это, используя плоские страницы Джанго? Если нет, есть ли другое приложение Django, которое позволит создавать страницы с возможностью добавления дополнительных полей?
3 ответа
Вы можете свернуть свою собственную версию приложения для плоских страниц; взгляните на исходный код, это действительно просто.
Похоже, что вы можете выполнить то, что вы хотите, с двумя моделями: одна для представления страниц, а другая для представления пользовательских полей. Свяжите их вместе с внешними ключами и некоторыми качествами встроенного администратора, и вы должны быть настроены. Чтобы получить доступ к полям в вашем шаблоне, убедитесь, что класс Page реализует какую-то функцию поиска, такую как __getitem__
,
Если вам не нужно запрашивать поля, то проще всего добавить поле, содержащее все пользовательские данные, либо в маринованном словаре, либо в каком-либо другом формате.
JSONField - пример хранения пользовательских объектов в формате JSON.
Плоские страницы - это просто статические HTML-страницы, которые хранятся в вашей базе данных с симпатичным интерфейсом администратора.
Если вам нужно что-то более сложное, пришло время сделать свое собственное.