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
我正在尝试在 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