2017-04-20 42 views
0

我在引導樹中顯示了一些模型。現在我必須在引導列表中顯示該樹的特定節點的詳細信息。我知道我需要爲此使用AJAX視圖。但我沒有明確的想法。請幫幫我。Django Bootstrap列表

以下是我的觀點

def get_context_data(self, **kwargs): 
    context = dict() 
    organization = Organization.objects.all() 
    orglocations = Orglocations.objects.all() 
    locationprocessarea = Locationprocessarea.objects.all() 
    processareaasset = Processareaasset.objects.all() 
    processtaglink = Processareaassettaglink.objects.all() 
    context["TreeStructure"] = [ 
     { 
      'text': organizations.name, 
      'nodes': [ 
       { 
        'text': orglocationss.name, 
        'nodes': [ 
         { 
          'text': processarea.name, 
          'nodes': [ 
           { 
            'text': processasset.name, 
            'nodes':[{ 
             'text':processareafilter.name, 
             'nodes':[{ 
              'text':taglink.name 
             }for taglink in processtaglink.filter(areaassetid=processareafilter.id)] 
            }for processareafilter in processareaasset.filter(parentassetid=processasset.id)] 
           } for processasset in processareaasset.filter(processareaid=processarea.id).filter(parentassetid__isnull=True)] 
         } for processarea in locationprocessarea.filter(locationid=orglocationss.id)] 
       } for orglocationss in orglocations.filter(organizationid_id=organizations.id)] 
     } for organizations in organization.filter(id=1)] 
    return { 

     "tree_view": context 
    } 

,我已經在我的模板使用的是腳本,

<script> 
var test_tree = {{ tree_view.TreeStructure | safe }}; 
$('#tree').treeview({data: test_tree}); 
</script> 

請幫我.. !!在此先感謝

+0

嘗試'var test_tree =「{{tree_view.TreeStructure | safe}}」;' – itzMEonTV

+0

@itzmeontv其顯示錯誤 – priya

回答

0

TreeStructure變量是一個Python字典的列表,並且默認__str__方法不會生成有效的JSON,這是您需要輸出的JavaScript瞭解它。嘗試在控制檯打開的情況下在瀏覽器中加載頁面,我保證你會看到某種錯誤。

爲了證明這一點的另一種方式:

>>> import json 
>>> json.loads(str([{'a': 1}, {'b': 2}])) 
    Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "/usr/lib/python2.7/json/__init__.py", line 338, in loads 
    return _default_decoder.decode(s) 
    File "/usr/lib/python2.7/json/decoder.py", line 366, in decode 
    obj, end = self.raw_decode(s, idx=_w(s, 0).end()) 
    File "/usr/lib/python2.7/json/decoder.py", line 382, in raw_decode 
    obj, end = self.scan_once(s, idx) 
ValueError: Expecting property name: line 1 column 3 (char 2) 

打印出來的模板之前,所以做的數據json.dumps()。使用safe過濾器是正確的。

+0

感謝您的評論..我正在爲我的代碼獲得完美的輸出。現在我的問題是我必須顯示一個引導列表,其中包含特定節點的細節,同時單擊該節點 – priya

+0

聽起來像是一個完全不同的問題,可能應該發佈一個新的問題。 – Anonymous

+0

我的問題可以理解嗎? – priya