Прежде всего вам необходимо решить, решить ли это с помощью JavaScript или переопределить шаблоны.Оба эти решения являются хорошими решениями в зависимости от ваших требований.
Один простой способ сделать это, и первый подход, который вы можете использовать для начала тестирования, - это поместить каждую вкладку в отдельную fieldset и затем создайте интерфейс с вкладками, чтобы показать / скрыть их.Плюсы в том, что это действительно простой способ сделать это, минусы в том, что у вас нет особой гибкости, если вы не начнете переходить на большое DOM с помощью javascript.
Примите во внимание, что если вы меняете вкладки, пользовательможет забыть, что они что-то изменили, и оставить без сохранения, поэтому предупреждение, что они покидают страницу и не сохраняют ее, всегда является хорошей идеей.
Другой подход - переопределить шаблон change_form для этой конкретной модели и связать новые вкладки.на тот же URL, но с другими параметрами GET, например.... / mymodel /? active_tab = 2 и отметьте это в шаблоне / представлении и визуализируйте соответствующий контент.Самым известным преимуществом такого подхода является то, что пользователю не нужно включать JavaScript.
Вы можете проверить, как django-cms делает это ,Он имеет очень приятный интерфейс с вкладками для переключения между разными языками.Один из лучших способов решить, как начать делать что-то, - проверить, как это сделали другие.Просмотрите исходный код, установите его и начните экспериментировать!
Надеюсь, это поможет.
EDIT
Другой пример подхода здесь .Проще всего пройти через прикрепленный патч, чем полный код django-cms.Приветствия.