2017-04-20 38 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