Django-CMS:Django 管理中的 PlaceholderField

Django-CMS: PlaceholderField in django admin

我正在尝试在 django 管理中使用 PlaceholderField 而不是 HTMLField。我阅读了 this 文档,但一无所获 所以我的 models.py

from django.db import models
from cms.models.fields import PlaceholderField
class Blog(models.Model):
    name = models.CharField(max_length=100)
    field = PlaceholderField('content')

然后我添加了一些代码到 admin.py

from django.contrib import admin
from example.models import Blog
from cms.admin.placeholderadmin import PlaceholderAdminMixin

class MyModelAdmin(PlaceholderAdminMixin, admin.ModelAdmin):
    pass
admin.site.register(Blog, MyModelAdmin)

但是当我尝试在 django admin 中添加新模型时,我 see only name field

这是我丢失的一些步骤吗?

PlaceholderField 允许您通过前端将 CMS 插件添加到您的博客对象,因此您只会在管理视图中看到 CharField

在您的博客模板中 DetailView 您需要呈现对象的占位符字段。你会做类似的事情;

{% load cms_tags %}

<h1>{{ object.name }}</h1>

{% render_placeholder object.field "640" %}

占位符字段的文档是 here

然后当您查看 DetailView 时,您可以向占位符添加内容,就像任何带占位符的标准 CMS 页面一样。

CMS 博客系统的一个很好的例子是 aldryn-newsblog,它由核心 CMS 团队编写。 https://github.com/aldryn/aldryn-newsblog