我刚接触Django并正在为希望能够在Django Admin中更改页面内容的客户开发。他们需要能够在不编辑服务器上的文件的情况下更改索引页面的html。
我知道平面文件,但我不确定这完全是我所追求的,因为我无法显示诸如Django表格等内容。
编辑:有点像CMS如何工作,但没有用户/组的东西,并能够使用Django View模块,如表格。有什么建议吗?
由于
答案 0 :(得分:0)
我不相信这是可能的。当然,您可以编辑模型,但我认为不是。
答案 1 :(得分:0)
老实说,你所寻找的范围太大,无法用这种格式覆盖。这个可以通过多种方式完成,但它们都需要根据客户的需求进行一些工作和定制。
如果您允许HTML内容并确保内容在模板中呈现为“安全”,则可以使用Flatpages。但这实际上只涵盖了网站的“内容”区域。对整个网站模板使用flatpages是不明智的,包括标题,侧边栏,页脚等。
您可以创建可编辑区域。因此,您实际上为这些区域中的标题,侧边栏,页脚和模块等内容创建模型,然后根据需要将它们拉入模板。然后,客户端只编辑模板的各个部分,而不是负责整个HTML文档。
表单将成为一项挑战,因为它们需要需要连接视图的后端处理。客户端将无法随意删除某些表单代码并拥有表单。但是,您可以使用第三方服务表单表单,并将它们嵌入可用的内容区域。或者,有几个django应用程序尝试在管理员中实现一种“表单构建器”。这可能会以某种方式让客户端通过类似Wordpress中使用的短代码添加表单,但是你可能不得不放下一些基础设施来实现这一点。
但在某个时刻,这样的事情会达到收益递减的程度。允许完全自定义模板的唯一方法是下拉到实际的物理文件并在那里进行更改。您可以为客户端提供更轻松的功能,但最终,他们需要缩减自定义需求或处理他们必须使用文件系统这一事实。
答案 2 :(得分:0)
我会知道他们需要改变多少?如果他们计划每周进行一次完整的重新设计,那么你仍然在寻找答案。如果他们只需要动态首页,那么您可以将其拆分为变量并让他们编辑html部分。更安全,更不容易打破HTML。