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小时内与您取得联系。