"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 %}

什么也没出现。

我错过了什么?任何帮助将不胜感激!

我认为您缺少管理员上的占位符管理员混合。您没有指定管理员,所以我不确定。

from django.contrib import admin
from cms.admin.placeholderadmin import PlaceholderAdminMixin
class HomePageAdmin(PlaceholderAdminMixin, admin.ModelAdmin):
    pass

最新更新