2016-08-01 11 views
-1

djangoテンプレートを使用してjsonデータをフロント(html)に送信する際に問題があります。djangoテンプレートを使用してデータjsonを前面に渡します(html)

これは、Pythonのコードです:

@api_view(['GET']) 
@renderer_classes((JSONRenderer,))  
def tasks_list_all(request): 
    i = inspect() 
    tasks_dic=i.registered_tasks() 
    for cle in tasks_dic.keys(): 
     key=cle 
    tasks_old_v=tasks_dic.get(key) 
    tasks_new_v=[] 
    for tasks in tasks_old_v: 
     new_tasks=tasks.replace('infra_mngt.tasks.','') 
     tasks_new_v.append(new_tasks) 
    add_new=tasks_new_v[-1].replace('provisionning.celery.','') 
    tasks_new_v[-1]=add_new 
    tasks_new_v_new=json.dumps(tasks_new_v) 
    print "json.dumps(tasks_new_v)",tasks_new_v_new 
    #~ return render(request, os.path.join(settings.BASE_DIR, 'infra_mngt', 'templates', 'tasks_all.html'), context={'list':tasks_new_v}) 
    #~ return render(request, os.path.join(settings.BASE_DIR, 'infra_mngt', 'templates', 'tasks_all.html'),{'list':tasks_new_v}) 
    return render(request, os.path.join(settings.BASE_DIR, 'infra_mngt', 'templates', 'tasks_all.html'),{'list':tasks_new_v_new}) 

これはフロント(tasks_all.html)のコードです:

<h1>Dynamic list tasks</h1> 
{% for list in tasks_new_v_new %} 
    {{ list }} 
{% endfor %} 

しかし、実行した後、私は、任意の要素を得ることはありません私が必要とするリストは、このhtmlコードの表示だけです:

<h1>Dynamic list tasks</h1> 
+0

まず、テンプレートで使用するキーは 'リスト'ではなく、 'tasks_new_v_new'です。それをあなたのキーとして使いたいなら、 '{'list':tasks_new_v_new}'を{{'tasks_new_v_new':tasks_new_v_new} 'に変更してください –

答えて

1

あなたはテンプレートに間違ったコンテキストを渡しています)テンプレートで間違った変数をINGの

は()ビューのようなものを試してください:テンプレートで

return render(request, your_template, {"tasks": tasks_new_v_new}) 

:私はtasksという変数を渡している

{% for task in tasks %} 
    {{ task }} 
{% endfor %} 

予告テンプレートで、その変数をループしています。

希望これは、それが動作するようになりまし

0

を助け、私は必要なもののHTMLコードが表示されます。 ありがとう

関連する問題