Djangoフレームワークを使用して WebApplication を構築しています。サーバー側では、ブラウザを使用してユーザーからの入力に応じてete2 ツリーを構築しています。今私の問題は、このツリーをクライアント側(ブラウザ)で各ノードをハイパーリンクとしてツリー形式で表示する必要があることです(ツリー形式で表示されたノードをクリックすると、ノード名をパラメーターとして渡すサーバー側で関数を呼び出す必要があります。ハイパーリンクとして表示されます)。
私の頭に浮かんだ1つの解決策は、ビュー関数でete2.treeを解析し、必要なすべてのhtmlタグを含む文字列を作成することです。これは、ブラウザに表示すると次のようになります。
+ root
+ child1
+ grandson
+ child2
これを行うコード: from ete2 import Tree
def display_view(request):
global tree
string = tree2str(tree)
return render_to_response('index.html', {'string': string} )
def tree2strtr():
global tree
tmp = ''
for node in tree.traverse():
if node.name != 'NoName':
tmp += '<a href="/process/?objectName=%s">%s</a>' % (node.name, node.name)
tmp += '</br>'
return tmp
それを行うより良い方法はありますか?任意の提案をお願いします..