2012-03-14 25 views
1

我建立一个小网站框架,一组很可能有相当多的非结构化页网站 - 这意味着他们有:编辑非结构化网页

  • 每页稍有不同的布局
  • 很多一次性文本
  • 无/很少产生从模型

内容,我想,它允许客户通过我的管理界面编辑这些网页的内容(我使用Django这个项目),b并且要求它们不暴露给页面HTML,并且只能编辑我已经指定为字段的页面部分;例如:

  • 标题
  • 的文本内容,几个街区
  • 或许预定义的图像位置
  • PDF文件中的一些方框是需要嵌入

这些字段显著页面之间变化。

这个布局以及这些页面需要的字段将由开发者指定,所以不需要为此动态生成很多东西。

到目前为止,我所拥有的'最好'的想法是在用户编辑完这些内容并将它们存储在我的关系数据库的'Pages'表/模型中,或者只是抛出MongoDB或类似的。

从概念上讲,你将如何实现这样的页面?如前所述,我使用的是Django,因此欢迎任何针对Django的实现建议,但一般的高层次想法也会很棒。

回答

2

我会实现一个ContentBlock模型,其具有.kind(标题,文本,图像,PDF)和一个.data,这将容纳内容(如果文本)或路径上传的PDF /图像/等。据推测,那么你会用硬编码定义的相应块的网页 - 我只希望使用硬编码的蛞蝓,例如,'home-title', 'home-intro', 'about-title', 'about-text', 'about-right-photo'

使用Django的管理界面建议。它更适合编辑同质的非业务逻辑模型。我只是添加一个编辑视图,为块提供适当的表单字段 - html编辑器,文件上传等。在django管理员中可以做到这一点,但根据我的经验,这是不值得的麻烦 - 再加上,如果你做自己的编辑视图,你可以让它使用与网站其他部分相同的基本模板,这是一种更好的用户体验。

+0

听起来像是一个很好的解决方案。谢谢! – Tom 2012-03-15 14:58:26