国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Django 前后臺的數據傳遞的方法

2019-11-25 15:57:11
字體:
來源:轉載
供稿:網友

Django 從后臺往前臺傳遞數據時有多種方法可以實現。

最簡單的后臺是這樣的:

from django.shortcuts import renderdef main_page(request):  return render(request, 'index.html')

這個就是返回index.html的內容,但是如果要帶一些數據一起傳給前臺的話,該怎么辦呢?

一 view -> HTML 使用Django模版

這里是這樣:后臺傳遞一些數據給html,直接渲染在網頁上,不會有什么復雜的數據處理(如果前臺要處理數據,那么就傳數據給JS處理)

Django 代碼:

from django.shortcuts import renderdef main_page(request):  data = [1,2,3,4]  return render(request, 'index.html', {'data': data})

html使用 {{ }} 來獲取數據

<div>{{ data }}</div>

可以對可迭代的數據進行迭代:

{% for item in data%}<p>{{ item }}</p>{% endfor %}

該方法可以傳遞各種數據類型,包括list,dict等等。

而且除了 {% for %} 以外還可以進行if判斷,大小比較等等。具體的用法讀者可以自行搜索。

二 view-> JavaScript

如果數據不傳給html用,要傳給js用,那么按照上文的方式寫會有錯誤。

需要注意兩點:

1.views.py中返回的函數中的值要用 json.dumps() 處理

2.在網頁上要加一個 safe 過濾器。

代碼:

views.py

# -*- coding: utf-8 -*- import jsonfrom django.shortcuts import render def main_page(request):  list = ['view', 'Json', 'JS']  return render(request, 'index.html', {      'List': json.dumps(list),    })

JavaScript部分:

var List = {{ List|safe }};

三 JavaScript Ajax 動態刷新頁面

這個標題的意思是:網頁前臺使用Ajax發送請求,后臺處理數據后返回數據給前臺,前臺不刷新網頁動態加載數據

Django 代碼:

def scene_update_view(request):  if request.method == "POST":      name = request.POST.get('name')      status = 0      result = "Error!"      return HttpResponse(json.dumps({        "status": status,        "result": result      }))

JS 代碼:

    function getSceneId(scece_name, td) {      var post_data = {        "name": scece_name,      };      $.ajax({        url: {% url 'scene_update_url' %},        type: "POST",        data: post_data,        success: function (data) {          data = JSON.parse(data);          if (data["status"] == 1) {            setSceneTd(data["result"], scece_name, td);          } else {            alert(data["result"]);          }        }      });    } 

JS 發送ajax請求,后臺處理請求并返回status, result

在 success: 后面定義回調函數處理返回的數據,需要使用 JSON.parse(data)

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 镇坪县| 楚雄市| 枣阳市| 鹤峰县| 乡城县| 肥乡县| 囊谦县| 靖安县| 尼木县| 宝丰县| 岚皋县| 丁青县| 昆明市| 韩城市| 潼关县| 焦作市| 宁强县| 平原县| 屯昌县| 福清市| 杭锦后旗| 双鸭山市| 达日县| 桑植县| 沅江市| 镇巴县| 中超| 漳浦县| 托里县| 永安市| 阜南县| 镇沅| 霸州市| 河间市| 阆中市| 枝江市| 云霄县| 平舆县| 太谷县| 英山县| SHOW|