我是 web 开发世界的新手——这意味着我是 javaScript/CSS 的新手。现在我正在用 Python Django 构建一个 Web 系统。我想知道你想给我一些提示作为向 Django 管理员添加“选项卡式”界面的起点吗?
例如,一个主表有 3 个明细表,我想在主表的“编辑”页面中使用 3 个不同的选项卡来编辑这 3 个明细表。先感谢您!
我是 web 开发世界的新手——这意味着我是 javaScript/CSS 的新手。现在我正在用 Python Django 构建一个 Web 系统。我想知道你想给我一些提示作为向 Django 管理员添加“选项卡式”界面的起点吗?
例如,一个主表有 3 个明细表,我想在主表的“编辑”页面中使用 3 个不同的选项卡来编辑这 3 个明细表。先感谢您!
首先,您需要决定是使用 javascript 还是通过覆盖模板来解决这个问题。这两个都是很好的解决方案,具体取决于您的要求。
一种简单的方法是,您可以用来开始测试的第一种方法是将每个选项卡放在不同的字段集中,然后制作一个选项卡式界面来显示/隐藏它们。它的优点是它是一种非常简单的方法,缺点是如果不开始使用 javascript 更改为大量 DOM,您将没有太大的灵活性。
您应该考虑到,如果您更改选项卡,用户可能会忘记他们更改了某些内容并没有保存就离开,因此提醒他们离开页面而不保存它总是一个好主意。
另一种方法是覆盖该特定模型的 change_form 模板,并将新选项卡链接到相同的 url 但具有不同的 GET 参数,例如。.../mymodel/?active_tab=2 并在模板/视图中检查并呈现适当的内容。这样做最显着的优点是用户不需要启用 javascript。
您可以查看django-cms是如何 做到的。它有一个非常好的选项卡式界面,可以在不同语言之间进行切换。决定如何开始做某事的最好方法之一是检查其他人是如何做的。浏览源代码,安装并开始试验!
希望这可以帮助。
编辑
另一个示例方法是here。只通过附加的补丁比完整的 django-cms 代码更容易。干杯。