Treebeard — Efficient tree model implementations for Django
django-treebeard.googlecode.com
django-treebeard.googlecode.com
There are no bundled tag libraries or forms in Treebeard, so you will have to re-invent the wheel here. However, the django-mptt tags was broken anyway. It didn't provide enough info to create a proper nested, unordered list. Also, the mptt MoveNodeForm works in Treebeard with just a couple tweaks.
I'll work on adding stuff from easytree into treebeard as soon as I get some time (I'm the author of treebeard).
What I'm trying to do now is do an integration with jsTree, so that I can do drag-and-drop reordering of my CMS pages in the Admin.
As it is now, I have a MoveNodeForm showing up in the Admin's change list for each row, and I created a modified version of the result_list tag to enforce tree order (since you can't sort by two columns in the Django Admin), and pad the object names with spaces to represent the tree structure visually. It works, but it's hokey.
Wonder if it would be feasible to re-implement in Java?