全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Django 前后台的数据传递的方法

Django 从后台往前台传递数据时有多种方法可以实现。

最简单的后台是这样的:

from django.shortcuts import render

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

这个就是返回index.html的内容,但是如果要带一些数据一起传给前台的话,该怎么办呢?

一 view -> HTML 使用Django模版

这里是这样:后台传递一些数据给html,直接渲染在网页上,不会有什么复杂的数据处理(如果前台要处理数据,那么就传数据给JS处理)

Django 代码:

from django.shortcuts import render

def 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 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 动态刷新页面

这个标题的意思是:网页前台使用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)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# Django  # 数据传递  # 传递数据  # 是这样  # 有什么  # 迭代  # 会有  # 还可以  # 要用  # 数据处理  # 可以实现  # 最简单  # 以对  # 要带  # 需要注意  # 回调  # 大家多多  # 上要  # 可以自行  # 两点  # 加载  # shortcuts 


相关文章: 如何在万网开始建站?分步指南解析  如何在服务器上三步完成建站并提升流量?  宝塔建站助手安装配置与建站模板使用全流程解析  高性能网站服务器部署指南:稳定运行与安全配置优化方案  如何在阿里云虚拟主机上快速搭建个人网站?  如何快速搭建响应式可视化网站?  网站视频怎么制作,哪个网站可以免费收看好莱坞经典大片?  ui设计制作网站有哪些,手机UI设计网址吗?  ,制作一个手机app网站要多少钱?  大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?  魔方云NAT建站如何实现端口转发?  青岛网站设计制作公司,查询青岛招聘信息的网站有哪些?  c# Task.ConfigureAwait(true) 在什么场景下是必须的  深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?  广州网站制作的公司,现在专门做网站的公司有没有哪几家是比较好的,性价比高,模板也多的?  潮流网站制作头像软件下载,适合母子的网名有哪些?  ,如何利用word制作宣传手册?  怎么用手机制作网站链接,dw怎么把手机适应页面变成网页?  重庆网站制作公司哪家好,重庆中考招生办官方网站?  北京营销型网站制作公司,可以用python做一个营销推广网站吗?  详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)  北京的网站制作公司有哪些,哪个视频网站最好?  在线制作视频的网站有哪些,电脑如何制作视频短片?  建站之星如何配置系统实现高效建站?  移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?  如何通过网站建站时间优化SEO与用户体验?  建站之星代理平台如何选择最佳方案?  三星网站视频制作教程下载,三星w23网页如何全屏?  做企业网站制作流程,企业网站制作基本流程有哪些?  如何在西部数码注册域名并快速搭建网站?  开封网站制作公司,网络用语开封是什么意思?  专业网站设计制作公司,如何制作一个企业网站,建设网站的基本步骤有哪些?  赚钱网站制作软件,建一个网站怎样才能赚钱?是如何盈利的?  C++如何编写函数模板?(泛型编程入门)  胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?  阿里云高弹*务器配置方案|支持分布式架构与多节点部署  如何通过远程VPS快速搭建个人网站?  5种Android数据存储方式汇总  如何快速搭建高效服务器建站系统?  建站之星多图banner生成与模板自定义指南  长沙企业网站制作哪家好,长沙水业集团官方网站?  再谈Python中的字符串与字符编码(推荐)  香港服务器网站卡顿?如何解决网络延迟与负载问题?  如何在宝塔面板创建新站点?  如何在搬瓦工VPS快速搭建网站?  如何选择高性价比服务器搭建个人网站?  如何通过万网虚拟主机快速搭建网站?  佛山企业网站制作公司有哪些,沟通100网上服务官网?  如何在云主机上快速搭建网站?  表情包在线制作网站免费,表情包怎么弄? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。