Как вы можете создавать настраиваемые поля в стиле Wordpress, используя страницы Django?

Одной из функций, которая делает CMS, такой как WordPress, мощной, является возможность добавлять дополнительные поля, которые могут использоваться в шаблоне. WordPress имеет то, что он называет настраиваемыми полями. Есть ли способ сделать это, используя плоские страницы Джанго? Если нет, есть ли другое приложение Django, которое позволит создавать страницы с возможностью добавления дополнительных полей?

3 ответа

Решение

Вы можете свернуть свою собственную версию приложения для плоских страниц; взгляните на исходный код, это действительно просто.

Похоже, что вы можете выполнить то, что вы хотите, с двумя моделями: одна для представления страниц, а другая для представления пользовательских полей. Свяжите их вместе с внешними ключами и некоторыми качествами встроенного администратора, и вы должны быть настроены. Чтобы получить доступ к полям в вашем шаблоне, убедитесь, что класс Page реализует какую-то функцию поиска, такую ​​как __getitem__,

Если вам не нужно запрашивать поля, то проще всего добавить поле, содержащее все пользовательские данные, либо в маринованном словаре, либо в каком-либо другом формате.

JSONField - пример хранения пользовательских объектов в формате JSON.

Плоские страницы - это просто статические HTML-страницы, которые хранятся в вашей базе данных с симпатичным интерфейсом администратора.

Если вам нужно что-то более сложное, пришло время сделать свое собственное.

Другие вопросы по тегам