django前后端数据传输遇到的坑

    最近因为学生原因,简单学习了以下django开设网站,中间遇到了不少前后端数据传输问题,总结一下,以供参考。

前端传后端

前端传后端的方式

1、直接在url中传递

可以直接用<a>标签,如果要传简单数据,可以直接写在href属性的url中,感觉比Ajax快,复杂数据还是推荐ajax。

2、推荐Ajax

如果不需要跳转页面而是获取数据并修改本页面,用Ajax比较好,Ajax具体使用可以自行百度,主要说说遇到的坑

传数组回后端

Ajax直接在data中传数组回后端,django无法有效识别,需要将数组转化成json格式。具体为

data: { 'data': JSON.stringify(array_list)}

此种传输后,后端通过request.GET.get("data")方法收到的是一个字符串,此时需要通过json格式转换
 

import simplejson

str = request.GET.get("data")#返回一个字符串
dic_list = simplejson.loads(str)#解析字符串,返回一个数组

 

后端传前端

从Django后端传前端需要注意几个问题

如果是list列表,则需要使用JsonResponse返回数据,safe需要设置为

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Django中,前后端文件传输可以使用JSON进行数据传递。有两种常用的方式可以实现这个目标。 第一种方式是使用PythonJSON包进行数据的序列化和反序列化。在后端的views.py文件中,可以使用json.dumps()方法将数据转换为JSON格式的字符串,然后通过HttpResponse返回给前端。例如,可以使用以下代码将数据data传输给前端: ```python from django.http import HttpResponse import json def test_view(request): data = { 'html_data_name': 'python_data', } json_data = json.dumps(data) return HttpResponse(json_data, content_type='application/json') ``` 在前端的HTML文件中,可以使用JSON.parse()方法将收到的JSON字符串转换为JavaScript对象,以方便前端处理数据。 第二种方式是使用DjangoJsonResponse类,它提供了简洁的方法来发送JSON响应。在views.py文件中,可以使用JsonResponse直接返回JSON格式的数据。例如,可以使用以下代码将数据data传输给前端: ```python from django.http import JsonResponse def test_view(request): data = { 'html_data_name': 'python_data', } return JsonResponse(data) ``` 无论使用哪种方式,前端都可以通过解析收到的JSON数据,进行相应的处理和展示。 总结起来,Django中的前后端文件传输可以使用JSON进行数据的传递。可以使用PythonJSON包或DjangoJsonResponse类来实现数据的序列化和反序列化,从后端将数据发送到前端前端可以通过解析收到的JSON数据来获取传输的文件内容。<span class="em">1</span><span class="em">2</span><span class="em">3</span>

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值