我正在尝试使用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
这是我丢失的一些步骤吗?
答案 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 '50'." 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