我是Web开发世界的新手 - 这意味着我是javaScript / CSS的新手。现在我正在使用Python Django构建一个Web系统。我想知道你想给我一些提示作为向Django管理员添加“标签”界面的起点吗?
例如,主表有3个详细信息表,我想使用3个不同的选项卡来编辑主表的“编辑”页面中的3个详细信息表。先感谢您!
答案 0 :(得分:3)
首先,您需要决定是使用javascript还是通过覆盖模板来解决此问题。根据您的要求,这两种都是很好的解决方案。
一种简单的方式,并且您可以采取的第一种方法是开始测试这个方法是将每个标签放在不同的fieldset中,然后创建一个标签式界面来显示/隐藏它们。它的优点在于它是一种非常简单的方法,一个你没有太多灵活性的缺点,而不用javascript开始更改DOM。
你应该考虑到,如果你改变标签,用户可能会忘记他们改变了一些东西而没有保存就离开了,所以他们离开页面并且不保存它的警报总是一个好主意。
另一种方法是覆盖该特定模型的change_form模板,并将新选项卡链接到相同的URL但具有不同的GET参数,例如。 ... / mymodel /?active_tab = 2并在模板/视图中检查并呈现适当的内容。这种方式最值得注意的是,用户不需要启用javascript。
您可以查看django-cms does it的方式。它有一个非常好的选项卡界面,可以在不同语言之间进行更改。决定如何开始做某件事的最佳方法之一是检查其他人是如何做到这一点的。浏览源代码,安装它并开始试验!
希望这有帮助。
修改强>
另一个示例方法是here。通过附带的补丁比完整的django-cms代码更容易。欢呼声。