Лучший способ связать django-модель с django cms page/placeholder
Я делаю сайт, и одна из функций - Новости. У меня есть модель News с некоторыми полями, для лучшего пользовательского опыта я подумал, что мне нужна дополнительная информация для каждой новости - html сниппет, и для хорошего администрирования этого дополнительного контента для News я решил, что мне нужно использовать django csm. Итак, на каждой странице у меня есть информация из модели News и в конце этого - html сниппет, сделанный с помощью cms. И тут возникает проблема - я не знаю, как лучше реализовать свои желания.
Важный момент: я хочу сделать все соединения с моделью slug.
Я читал документацию про apphooks - но может быть это не лучший подход в моем случае? Ведь apphooks делает встраивание приложения в django cms, а мне нужен только кусок создания и подключения html шаблона, сделанного этой cms.
Дополнительно я пробовал просто взять страницу, сделанную cms и вставить ее в свой html, но там было что-то не так, может это невозможно? Может я могу видеть страницы только по урлам cms?
page = Page.objects.all()[0] # for example in views
- Я попытался сделать модель placeholder, но опять что-то не так, и я ничего не увидел на странице приложения по умолчанию.
placeholders = PlaceholderRelationField() @cached_property def my_placeholder(self): return get_placeholder_from_slot(self.placeholders, "slot_name")
Я не уверен, что полностью понимаю суть вопроса. Насколько я понимаю, вопрос заключался в следующем: Как добавить HTML-содержимое в новость?
Простым решением вашей проблемы может быть добавление HTMLField
в модель новостей. Он происходит от djangocms_text_ckeditor.fields
и, по сути, позволяет вводить HTML-текст.
Если это единственное применение django CMS, вы можете просто взять любое текстовое поле с подходящим HTML-редактором для django admin.