我开始使用django CMS项目。这很棒,用模块化设计牢记在心......但实际上我们的客户想要的是更简单:django-cms中的默认内容插件
在这里,在django CMS中,每个页面可以包含许多内容'插件' - 无论是文本,图像还是其他。但客户希望有一个文本插件处于活动状态,为每个新页面自动选择和创建 - 并在该文本字段上工作。这对他们来说简单些。
任何人在使用这个CMS系统之前都做过类似的事情吗?或者,您可以推荐任何其他简单的django CMS解决方案?
我开始使用django CMS项目。这很棒,用模块化设计牢记在心......但实际上我们的客户想要的是更简单:django-cms中的默认内容插件
在这里,在django CMS中,每个页面可以包含许多内容'插件' - 无论是文本,图像还是其他。但客户希望有一个文本插件处于活动状态,为每个新页面自动选择和创建 - 并在该文本字段上工作。这对他们来说简单些。
任何人在使用这个CMS系统之前都做过类似的事情吗?或者,您可以推荐任何其他简单的django CMS解决方案?
最快的,但可能不是最优雅的方式是:
它是这样的:
# anywhere in your project, for example, site/admin.py
from cms.models import Page
from cms.admin.pageadmin import PageAdmin
class ModPageAdmin(PageAdmin):
class Media:
js = ('js/cms.page.js',)
admin.site.unregister(Page)
admin.site.register(Page, ModPageAdmin)
# in MEDIA_URL/js/cms.page.js
$(document).ready(function(){
ph = $("div.form-row.main") // replace "main" with your placeholder name, lower-case
$("select", ph).val('TextPlugin')
window.setTimeout(function(){ $("span.add-plugin", ph).click() }, 500)
})
你甚至不需要CMS模块?
最基本的CMS的是几乎微不足道的使用超出现成的Django:
class ContentPage(models.Model):
title = models.CharField(max_length=100)
content = models.TextField()
slug = models.SlugField()
def view_page(request, slug='home'):
return render_to_response('content.html',
{ 'page': ContentPage.objects.get(slug=slug) },
context_instance=RequestContext(request)
)
只需使用Django管理上手。但是,如果你想要更多,而不是给他们管理员,很容易敲一个窗体/动作来编辑这些字段。
如果您需要wysiwyg编辑,添加tinymce到表单模板。喜欢的东西:
<script type="text/javascript" src="{{MEDIA_URL}}tiny_mce/tiny_mce.js"></script>
<script type="text/javascript">
tinyMCE.init({...
,或者如果你还在通过管理编辑通过网页就可以把拇指姑娘太
class Media:
js = (
settings.MEDIA_URL + "jquery/jquery.js",
settings.MEDIA_URL + "tiny_mce/tiny_mce.js",
settings.MEDIA_URL + "js/admin.js"
)
有一个简单的方法来实现相同的功能:
提供了大量的“原型页”,一个页面模板,你想提供给客户实例化插件的每个组合。
让客户通过复制模板页面(可以通过页面管理中的复制图标完成)来创建新页面,而不是从头开始创建新页面。通过这种方式,所需的插件将已经存在,即使有默认内容也是如此。
django CMS 3。0支持默认插件占位符:
http://docs.django-cms.org/en/stable/reference/configuration.html#placeholder-default-plugins
这不是一个答案却可能是hlpful:http://www.django-cms.org/en/documentation/2.0/configuration/#cms-placeholder- CONF – dzida 2010-08-27 13:24:12