2

私はDjango+django-mpttで使用して、jstreeでwin-explorer-treeのようなインターフェイスを完成させます。

{% load mptt_tags %}
var nodedata = {
    "data": {
    {% recursetree nodes %}
    "data": "{{ node.nodename }}",   
    "id": "{{ node.id }}", 
    "state":"open",
    "children": [{ {{ children }} }],
    {% endrecursetree %}
    }
};

すべてのノードに子が1つしかない場合は、正常に機能します。ただし、ユーザーが複数の子ノードを作成すると、次のようにjstreeで展開されます。

var nodedata = {
    "data": {

    "data": "following1",   
    "id": "1", 
    "state":"open",
    "children": [{ 
    "data": "level3",   
    "id": "4", 
    "state":"open",
    "children": [{ 
    "data": "level 4",   
    "id": "5", 
    "state":"open",
    "children": [{ 
    "data": "New node",   
    "id": "6", 
    "state":"open",
    "children": [{ 
    "data": "New node 2",   
    "id": "7", 
    "state":"open",
    "children": [{  }],
     }],

    "data": "kkk",   
    "id": "8", 
    "state":"open",
    "children": [{  }],
     }],
     }],
     }],

    }
};

「kkk」ノードは表示されますが、「NewNode」と「NewNode2」は表示されません。

私はいくつかのアドバイスを求めていますか、それともこの木を表現するためのより良い方法ですか?

4

1 に答える 1

1

json変数にエラーがあると思います。あなたが持っている:

"children": [{
    "data": "New node",
    "id": "6",
    "state":"open",
    "children": [{
        "data": "New node 2",
        "id": "7",
        "state":"open",
        "children": [{  }],
    }],
    "data": "kkk",
    "id": "8",
    "state":"open",
    "children": [{  }],
}],

「children」配列の各ノードは、コンマで割った個別の{}である必要があります。

于 2011-11-09T08:17:14.750 に答える