代码之家  ›  专栏  ›  技术社区  ›  Edwin Yip

需要有关向django admin添加“选项卡式”界面的“起点”提示

  •  2
  • Edwin Yip  · 技术社区  · 15 年前

    我对Web开发世界是个新手——这意味着我对javascript/css是个新手。现在我正在用python django构建一个Web系统。我想知道您是否想给我一些提示,作为向django admin添加“选项卡”接口的起点?

    例如,主表有3个明细表,我想在主表的“编辑”页面中使用3个不同的选项卡来编辑这3个明细表。提前谢谢!

    1 回复  |  直到 15 年前
        1
  •  3
  •   rasca    15 年前

    首先,您需要决定是用JavaScript还是通过覆盖模板来解决这个问题。这两种方案都是很好的解决方案,具体取决于您的需求。

    容易的 实现这一点的方法,以及开始测试的第一种方法,就是将每个选项卡放在不同的 fieldset 然后制作一个选项卡式界面来显示/隐藏它们。它的优点是它是一种非常简单的方法,缺点是如果不使用JavaScript更改为多个DOM,您就没有太多的灵活性。

    您应该考虑到,如果您更改选项卡,用户可能会忘记更改了某些内容而不进行保存,因此提醒他们离开页面而不进行保存总是一个好主意。

    另一种方法是重写该特定模型的更改表单模板,并将新选项卡链接到相同的URL,但使用不同的get参数,例如…/mymodel/?active_tab=2,并在模板/视图中检查此项,并呈现适当的内容。这样做最值得注意的优点是用户不需要启用javascript。

    你可以看看 django-cms does it . 它有一个非常好的选项卡式接口,可以在不同语言之间进行更改。决定如何开始做某件事的最佳方法之一是检查其他人是如何做的。浏览源代码,安装并开始试验!

    希望这有帮助。

    编辑

    另一个例子是 here . 与完整的DjangoCMS代码相比,只需浏览所附的补丁就更容易了。干杯。