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

首頁 > 編程 > Python > 正文

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

2020-02-16 02:01:46
字體:
來源:轉載
供稿:網友

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 迭部县| 弋阳县| 庄浪县| 鄂托克前旗| 静海县| 渭源县| 阜新| 双城市| 博罗县| 彰化县| 栖霞市| 阳春市| 武隆县| 南充市| 临澧县| 都江堰市| 布拖县| 怀来县| 天峻县| 沙雅县| 靖安县| 宁晋县| 洛宁县| 塘沽区| 当阳市| 阿瓦提县| 石台县| 大悟县| 来凤县| 阳西县| 中牟县| 乐山市| 富平县| 巴林右旗| 搜索| 博湖县| 元氏县| 石门县| 淮阳县| 轮台县| 庄浪县|