【问题标题】:Django - Managing page content in Django AdminDjango - 在 Django Admin 中管理页面内容
【发布时间】:2012-03-02 17:01:56
【问题描述】:

我是使用 Django 的新手,我正在为希望能够在 Django Admin 中更改页面内容的客户进行开发。他们需要能够在不编辑服务器上的文件的情况下更改索引页面的 html。

我知道平面文件,但我不确定这完全是我所追求的,因为我无法显示诸如 Django 表单之类的东西。

编辑:有点像 CMS 的工作方式,但没有用户/组的东西,并且能够使用 Django 视图模块,例如表单。

有什么建议吗?

谢谢

【问题讨论】:

    标签: python django django-models content-management-system django-admin


    【解决方案1】:

    老实说,您要查找的内容范围太大,无法以这种格式涵盖。有多种方法可以完成,但都需要根据客户的需求进行一些工作和定制。

    如果您允许 HTML 内容并确保内容在模板中呈现为“安全”,则平面页面可以工作。不过,这实际上只涵盖了网站的“内容”区域。将平面页面用于整个网站模板(包括页眉、侧边栏、页脚等)是不明智的。

    您可以创建可编辑区域。因此,您实际上为这些区域内的页眉、侧边栏、页脚和模块等内容创建模型,然后根据需要将它们拉入模板。然后,客户端只是编辑模板的一部分,而不是负责整个 HTML 文档。

    表单将是一个挑战,因为它们需要后端处理,需要连接视图。客户端将不能随意放入一些表单代码并拥有一个表单。但是,您可以使用第三方服务表单并将它们嵌入到可用的内容区域中。或者,有几个 django 应用程序试图在管理员中实现一种“表单构建器”。这可能会让客户通过类似 Wordpress 中使用的简码之类的方式添加表单,但您可能必须部署一些基础架构才能使其正常工作。

    不过,在某个时刻,像这样的东西会达到收益递减的程度。允许完全自定义模板的唯一方法是下拉到实际的物理文件并在那里进行更改。您可以为客户简化某些事情,但最终,他们要么需要缩减其自定义需求处理他们必须使用文件系统的事实。

    【讨论】:

    • 感谢您的回复。我要和客户谈谈,告诉他们他们需要处理文件。
    • 如何在模板中创建您提到的可编辑区域,然后将这些内容保留在模型中,从而能够通过管理 api 编辑它们,因为模型可以在那里进行编辑。是的,听起来像是一个大技巧,但应该可以工作,对吧?
    • 请注意,我个人不会为了方便编辑而将 html 保存在 dbs 中。解决一个问题,恕我直言,这不是一个真正的问题。
    【解决方案2】:

    我认为目前这是不可能的。当然你可以编辑你的模型,但是模板,我认为不行。

    【讨论】:

    • 不是完全作者所问的。在回答之前阅读问题。
    • @ChrisPratt 他需要能够更改管理页面的 html。这就是链接所说的。我错过了什么吗?
    • 感谢您的评论,但我想要做的是能够从管理面板更改网页内容,而不是更改管理面板的模板。
    • 是的,你错过了一些东西。他想管理员管理站点上页面的 HTML,而不是更改管理员。
    • 是的,现在想通了,但我认为这个问题并没有说得很清楚。无论如何,我认为这是不可能的。
    【解决方案3】:

    我会知道他们需要改变多少?如果他们每周都计划进行彻底的重新设计,那么您仍在寻找答案。如果他们只需要动态首页,那么您可以将其拆分为变量并让他们编辑 html 部分。更安全,更不容易破坏 html。

    【讨论】:

    • 大约每 1 个半月对网站进行一次彻底的重新设计。该网站有许多不同的活动,整个设计会根据活动而变化。
    • 无论您如何剪辑,重新设计都需要更改文件。这是客户需要接受现实生活的一个明确案例。
    猜你喜欢
    • 2012-11-18
    • 2011-09-12
    • 1970-01-01
    • 1970-01-01
    • 2011-05-09
    • 2017-06-01
    • 1970-01-01
    • 2012-06-07
    • 1970-01-01
    相关资源
    最近更新 更多