"render_placeholder" не отображается в шаблоне djangoCMS
Я выполнил инструкции на следующем сайте, чтобы отобразить поле заполнителя из модели, но мне не удалось.
http://docs.django-cms.org/en/release-3.4.x/how_to/placeholders.html
Это моя модель.
from django.db import models
import uuid
from django.utils import timezone
from cms.models.fields import PlaceholderField
class HomePage(models.Model):
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False, unique=True)
my_placeholder = PlaceholderField('placeholder_name')
modified_date = models.DateTimeField(default=timezone.now)
class Meta:
db_table = "home_page_content"
verbose_name = 'Home Page Content'
verbose_name_plural = 'Home Page Content'
Это мой взгляд.
from django.shortcuts import render
from app.models.home_page import HomePage
def HomePageContent(request):
object = HomePage.objects.all()
return render(request, 'home.html', {'object': object})
Вот как я отображаю заполнитель в шаблоне.
{% load cms_tags %}
{% for obj in object %}
{% render_placeholder obj.my_placeholder "640" %}
{% endfor %}
И ничего не появляется.
Что мне не хватает? Любая помощь приветствуется!
1 ответ
Вам не хватает PlaceholderAdminMixin на администратора, я думаю. Вы не указали админа, поэтому я не уверен.
from django.contrib import admin
from cms.admin.placeholderadmin import PlaceholderAdminMixin
class HomePageAdmin(PlaceholderAdminMixin, admin.ModelAdmin):
pass