欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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如何根據(jù)照片修改時(shí)間重命名并排序詳解

    Python如何根據(jù)照片修改時(shí)間重命名并排序詳解

    重命名操作是我們開發(fā)中經(jīng)常遇到的一個(gè)需求,下面這篇文章主要給大家介紹了關(guān)于Python如何根據(jù)照片修改時(shí)間重命名并排序的相關(guān)資料,需要的朋友可以參考下
    2021-05-05
  • 利用python繪制線型圖

    利用python繪制線型圖

    這篇文章主要介紹了利用python繪制線型圖,文章圍繞主題的相關(guān)資料展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,感興趣的下伙伴可以參考一下
    2022-06-06
  • Python enumerate內(nèi)置庫(kù)用法解析

    Python enumerate內(nèi)置庫(kù)用法解析

    這篇文章主要介紹了Python enumerate內(nèi)置庫(kù)用法解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-02-02
  • Python+OpenCV進(jìn)行不規(guī)則多邊形ROI區(qū)域提取

    Python+OpenCV進(jìn)行不規(guī)則多邊形ROI區(qū)域提取

    ROI即感興趣區(qū)域。機(jī)器視覺、圖像處理中,從被處理的圖像以方框、圓、橢圓、不規(guī)則多邊形等方式勾勒出需要處理的區(qū)域,稱為感興趣區(qū)域,ROI。本文將利用Python和OpenCV實(shí)現(xiàn)不規(guī)則多邊形ROI區(qū)域提取,需要的可以參考一下
    2022-03-03
  • PyTorch實(shí)現(xiàn)手寫數(shù)字識(shí)別的示例代碼

    PyTorch實(shí)現(xiàn)手寫數(shù)字識(shí)別的示例代碼

    本文主要介紹了PyTorch實(shí)現(xiàn)手寫數(shù)字識(shí)別的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下<BR>
    2022-05-05
  • python基礎(chǔ)教程項(xiàng)目四之新聞聚合

    python基礎(chǔ)教程項(xiàng)目四之新聞聚合

    這篇文章主要為大家詳細(xì)介紹了python基礎(chǔ)教程項(xiàng)目四之新聞聚合,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • 快速創(chuàng)建python 虛擬環(huán)境

    快速創(chuàng)建python 虛擬環(huán)境

    這篇文章主要介紹了快速創(chuàng)建python 虛擬環(huán)境的方法,幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下
    2020-11-11
  • 如何利用PyQt5制作一個(gè)簡(jiǎn)單的登錄界面

    如何利用PyQt5制作一個(gè)簡(jiǎn)單的登錄界面

    初學(xué)者制作登錄界面時(shí)常遇到網(wǎng)上代碼看不懂、不會(huì)用、用不了的問(wèn)題,下面這篇文章主要給大家介紹了關(guān)于如何利用PyQt5制作一個(gè)簡(jiǎn)單的登錄界面,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-06-06
  • 使用python實(shí)現(xiàn)簡(jiǎn)單五子棋游戲

    使用python實(shí)現(xiàn)簡(jiǎn)單五子棋游戲

    這篇文章主要為大家詳細(xì)介紹了使用python實(shí)現(xiàn)簡(jiǎn)單五子棋游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-06-06
  • python算法測(cè)試結(jié)果自動(dòng)保存到excel表格的實(shí)現(xiàn)步驟

    python算法測(cè)試結(jié)果自動(dòng)保存到excel表格的實(shí)現(xiàn)步驟

    我們?cè)谶M(jìn)行算法評(píng)估是通常會(huì)針對(duì)每個(gè)樣本的算法處理結(jié)果進(jìn)行統(tǒng)計(jì),例如每個(gè)樣本正確預(yù)測(cè)數(shù)量、漏檢數(shù)量和誤檢數(shù)量、精度等,本文小編將給大家介紹python算法測(cè)試結(jié)果自動(dòng)保存到excel表格的實(shí)現(xiàn)步驟,感興趣的朋友可以參考下
    2023-12-12

最新評(píng)論