0

モデルからプレースホルダフィールドをレンダリングするために、私は以下のサイトの指示に従っていますが、私は管理しませんでした。"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 %} 

何も表示されません。

私には何が欠けていますか?どんな助けでも大歓迎です!

答えて

0

私が考える管理者には、PlaceholderAdminMixinがありません。あなたは管理者を指定していないのでわかりません。

from django.contrib import admin 
from cms.admin.placeholderadmin import PlaceholderAdminMixin 

class HomePageAdmin(PlaceholderAdminMixin, admin.ModelAdmin): 
    pass 
関連する問題