jstree в джанговской админке для mptt моделей
На этот раз у ModelAdmin преопределен changelist_view, и все операции выполняются через ajax.
MpttAdmin также содержит свои шаблоны внутри себя и сам отдает все необходимые яваскрипты.
Выглядит это примерно так:
from app1.models import Category
from mpttadmin import MpttAdmin
class CategoryAdmin(MpttAdmin):
tree_title_field = 'name'
class Meta:
model = Category
Скриншот:
Код и пример лежат тут.
Получить копию последней версии можно набрав команду:
hg clone http://code.tabed.org/mptt_admin/






Comments
Привет, полезный модуль, но у меня есть пара вопросов:
1) Может ли Ваш модуль выводить дополнительные данные кроме названия? Например: “Название”; “Статус”; “Дата создания” и т.д…
2) И еще на сколько я знаю, в jstree при щелчке на элемент мы его выделяем, а как сделать ссылку чтобы перейти к редактированию?
1) сейчас нет, это возможно(через плагин metadata), но я пока этого не реализовал 2) у меня при щелчке(именно щелчке, а не перетаскивании) переходит к редактированию. можно сделать редактирование по двойному щелчку. делается это через callback`и jstree: onchange, ondblclick
Я добавил возможность выводить дополнительные поля. Задаются они через tree_display, по аналогии с list_display — в примере это отражено.
freelance writer
Для raw_id_fields = [‘regions’] делаем маленький фикс в jstree_admin.js
onchange : function (node) { if ($(‘body’).hasClass(‘popup’)) { opener.dismissRelatedLookupPopup(window, $(node).children(“a:eq(0)”).attr(“href”).split(‘/’)[0]); return false; } else { document.location.href = $(node).children(“a:eq(0)”).attr(“href”); } }
freelance writer
freelance writer