Django-CMS:Django管理中的PlaceholderField

时间:2018-08-18 11:28:03

标签: python django django-admin django-cms

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

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

1 个答案:

答案 0 :(得分:0)

<td> <label for="AspNetUser_FirstName">First Name</label> </td> <td> <input type="text" data-val="true" data-val-maxlength="The field First Name must be a string or array type with a maximum length of &#x27;50&#x27;." data-val-maxlength-max="50" id="AspNetUser_FirstName" name="AspNetUser.FirstName" value="Wallace" /> </td> 允许您通过前端将CMS插件添加到博客对象,因此您只会在管理视图中看到PlaceholderField

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

DetailView

占位符字段的文档为here

然后,当您查看{% load cms_tags %} <h1>{{ object.name }}</h1> {% render_placeholder object.field "640" %} 时,可以将内容添加到占位符,就像任何带有占位符的标准CMS页面一样。

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