Django 傳遞JSON至JS處理

學習來源:Django傳值給前端

非ajax,這裏是將json與網頁一次性全部發給瀏覽器端,不是異步傳輸。

模版html:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title> </title>
<script src="http://apps.bdimg.com/libs/jquery/1.10.2/jquery.min.js"></script>
</head>
<body>
<div id="list"> 學習 </div>
<div id='dict'></div>
<script type="text/javascript">

    //列表
    var List = {{ List|safe }};

    //下面的代碼把List的每一部分放到頭部和尾部
    $('#list').prepend(List[0]);
    $('#list').append(List[1]);

    console.log('--- 遍歷 List 方法 1 ---')
    for(i in List){
        console.log(i);// i爲索引
    }

    console.log('--- 遍歷 List 方法 2 ---')
    for (var i = List.length - 1; i >= 0; i--) {
        // 鼠標右鍵,審覈元素,選擇 console可以看到輸入的值
        console.log(List[i]);
    };

    console.log('--- 同時遍歷索引和內容,使用 jQuery.each() 方法 ---')
    $.each(List, function(index, item){
        console.log(index);
        console.log(item);
    });


    // 字典
    var Dict = {{ Dict|safe }};
    console.log("--- 兩種字典的取值方式  ---")
    console.log(Dict['site']);
    console.log(Dict.author);
    
    console.log("---  遍歷字典  ---");
    for(i in Dict) {
        console.log(i + Dict[i]);//注意,此處 i 爲鍵值
    }
</script>
</body>
</html>

urls:

from django.urls import path

from . import views

app_name = 'tttt'
urlpatterns = [
    path('', views.home, name='index'),
]

視圖層:

from django.shortcuts import render
import json
# Create your views here.

def home(request):
    List = ['自強學堂', '渲染Json到模板']
    Dict = {'site': '自強學堂', 'author': '塗偉忠'}
    return render(request, 'tttt/home.html', {
            'List': json.dumps(List),
            'Dict': json.dumps(Dict)
        })

f12查看終端即可查看結果。

使用echarts等要js處理的東西時,Django就這樣操作將數據發給前端處理即可。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章