最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Django 前后臺(tái)的數(shù)據(jù)傳遞的方法

 更新時(shí)間:2017年08月08日 16:39:34   作者:psklf  
本篇文章主要介紹了Django 前后臺(tái)的數(shù)據(jù)傳遞的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

Django 從后臺(tái)往前臺(tái)傳遞數(shù)據(jù)時(shí)有多種方法可以實(shí)現(xiàn)。

最簡(jiǎn)單的后臺(tái)是這樣的:

from django.shortcuts import render

def main_page(request):
  return render(request, 'index.html')

這個(gè)就是返回index.html的內(nèi)容,但是如果要帶一些數(shù)據(jù)一起傳給前臺(tái)的話,該怎么辦呢?

一 view -> HTML 使用Django模版

這里是這樣:后臺(tái)傳遞一些數(shù)據(jù)給html,直接渲染在網(wǎng)頁(yè)上,不會(huì)有什么復(fù)雜的數(shù)據(jù)處理(如果前臺(tái)要處理數(shù)據(jù),那么就傳數(shù)據(jù)給JS處理)

Django 代碼:

from django.shortcuts import render

def main_page(request):
  data = [1,2,3,4]
  return render(request, 'index.html', {'data': data})

html使用 {{ }} 來(lái)獲取數(shù)據(jù)

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

可以對(duì)可迭代的數(shù)據(jù)進(jìn)行迭代:

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

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

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

二 view-> JavaScript

如果數(shù)據(jù)不傳給html用,要傳給js用,那么按照上文的方式寫會(huì)有錯(cuò)誤。

需要注意兩點(diǎn):

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

2.在網(wǎng)頁(yè)上要加一個(gè) safe 過(guò)濾器。

代碼:

views.py

# -*- coding: utf-8 -*-
 
import json
from 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 動(dòng)態(tài)刷新頁(yè)面

這個(gè)標(biāo)題的意思是:網(wǎng)頁(yè)前臺(tái)使用Ajax發(fā)送請(qǐng)求,后臺(tái)處理數(shù)據(jù)后返回?cái)?shù)據(jù)給前臺(tái),前臺(tái)不刷新網(wǎng)頁(yè)動(dòng)態(tài)加載數(shù)據(jù)

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 發(fā)送ajax請(qǐng)求,后臺(tái)處理請(qǐng)求并返回status, result

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

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python?Fire創(chuàng)建簡(jiǎn)單的命令行接口

    Python?Fire創(chuàng)建簡(jiǎn)單的命令行接口

    Python?Fire是一個(gè)開源庫(kù),它能夠自動(dòng)生成命令行接口,讓Python程序變得更加友好和易用,本文主要為大家介紹了Python?Fire如何根據(jù)Python函數(shù)自動(dòng)生成命令行接口,感興趣的可以了解下
    2023-11-11
  • Python def函數(shù)的定義、使用及參數(shù)傳遞實(shí)現(xiàn)代碼

    Python def函數(shù)的定義、使用及參數(shù)傳遞實(shí)現(xiàn)代碼

    Python編程中對(duì)于某些需要重復(fù)調(diào)用的程序,可以使用函數(shù)進(jìn)行定義,在Python中使用def用來(lái)定義函數(shù),這里簡(jiǎn)單分享下, 方便學(xué)習(xí)python的朋友
    2014-08-08
  • python學(xué)習(xí)教程之使用py2exe打包

    python學(xué)習(xí)教程之使用py2exe打包

    py2exe是一個(gè)將python腳本轉(zhuǎn)換成windows上的可獨(dú)立執(zhí)行的可執(zhí)行程序(*.exe)的工具,下面這篇文章主要給大家介紹了關(guān)于python學(xué)習(xí)教程之使用py2exe打包的相關(guān)資料,需要的朋友可以參考借鑒,下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-09-09
  • Python ORM框架Peewee用法詳解

    Python ORM框架Peewee用法詳解

    這篇文章主要介紹了Python ORM框架Peewee用法詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-04-04
  • python實(shí)現(xiàn)圖片處理和特征提取詳解

    python實(shí)現(xiàn)圖片處理和特征提取詳解

    這篇文章主要介紹了python實(shí)現(xiàn)圖片處理和特征提取詳解,文中向大家分享了Python導(dǎo)入圖片,將圖像轉(zhuǎn)化為二維矩陣,模糊化圖片等Python對(duì)圖像的操作,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-11-11
  • 基于anaconda下強(qiáng)大的conda命令介紹

    基于anaconda下強(qiáng)大的conda命令介紹

    今天小編就為大家分享一篇基于anaconda下強(qiáng)大的conda命令介紹,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-06-06
  • Python設(shè)計(jì)模式之工廠模式簡(jiǎn)單示例

    Python設(shè)計(jì)模式之工廠模式簡(jiǎn)單示例

    這篇文章主要介紹了Python設(shè)計(jì)模式之工廠模式,簡(jiǎn)單說(shuō)明了工廠模式的原理,并結(jié)合實(shí)例形式給出了Python實(shí)現(xiàn)工廠模式的具體操作技巧,需要的朋友可以參考下
    2018-01-01
  • python基礎(chǔ)教程之?dāng)?shù)字處理(math)模塊詳解

    python基礎(chǔ)教程之?dāng)?shù)字處理(math)模塊詳解

    這篇文章主要介紹了pythonr的數(shù)字處理模塊知識(shí)(math),需要的朋友可以參考下
    2014-03-03
  • python中g(shù)lobal用法實(shí)例分析

    python中g(shù)lobal用法實(shí)例分析

    這篇文章主要介紹了python中g(shù)lobal用法,較為詳細(xì)的分析了global的功能并實(shí)例演示了相應(yīng)的使用技巧,需要的朋友可以參考下
    2015-04-04
  • 如何運(yùn)行帶參數(shù)的python腳本

    如何運(yùn)行帶參數(shù)的python腳本

    這篇文章主要介紹了如何運(yùn)行帶參數(shù)的python腳本,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11

最新評(píng)論

金湖县| 平和县| 庄河市| 田东县| 呼玛县| 博野县| 洪泽县| 曲沃县| 浙江省| 金乡县| 临沧市| 新巴尔虎右旗| 山阳县| 视频| 专栏| 台北市| 宝坻区| 张北县| 巩留县| 抚宁县| 澄城县| 米脂县| 蓝田县| 平利县| 苍山县| 霍邱县| 临漳县| 东方市| 张家界市| 衡山县| 衡阳县| 东乌| 商南县| 芜湖县| 卢龙县| 利川市| 呼和浩特市| 南投市| 湖北省| 津南区| 洞头县|