Django学习笔记之Json传值(来讲一讲我在json上踩的坑)

如何获取Json值

最近学习Django,传值真的让我很头大,毕竟,我真的前端很废
获取Json值我目前使用到的就有2种

第一种:Jquery方法

在html页面中首先要导入jquery,导入方法很多,随便搜搜一大堆

//在里面插入

在这里可能会有人和我遇到一样的问题-----如果我想要得到本地的json数据怎么办?

我上网搜了很多资料,资料上说把url换成本地的地址就可以了,结果我都行不通,为此我沮丧了好久。
后来我一拍脑门,我再加个url来专门获取json,然后访问这个url不就有值了吗

//首先在view里面写一个函数,获取到本地的json文件
//可能还会有人问,获取本地的json文件要怎么获取呢
import json
def getJson(request):
  f = open('data/test.json', encoding='utf-8')
  j = json.load(f)
 return HttpResponse(j,content_type="application/json")
 //然后在urls中加入具体的url,就可以在网站中访问到json文件了,然后把这个url输入到上面的script中就可以了
 

这样就可以了吗?
不!还有新的问题
返回的json只有最表层的数据字典名字,其下的数据什么都没有
后来发现再在获取json文件处加入如下代码就正常了

j=json.dumps(j)

通过view中的render来获取

def getjson(request):
 f = open('data/test.json', encoding='utf-8')
  j = json.load(f)
  return render(request,'XXX.html',j)

然后在html页面使用

{{data}}//数据字典的变量名

就可以直接访问了
这个时候我其实有一个疑问至今没有解决
为什么上面传值要使用dump再处理一下json,但是下面的不需要呢?

使用view获取的json传值到的页面如何循环呢

这个问题困扰了我很久,我想要用循环但是循环很多博客都推荐在script里面,采用循环,但是{{data}}这个样式的数据,无法出现在script中,现在我也不知道怎么在script中访问{{}}中的变量
在我快要放弃的时候我看见了曙光

{% for item in data%}

{{item}}

{% endfor %}

//遇到新的问题时会继续分享的,欢迎跪求dalao们解决我的疑问

你可能感兴趣的:(Django学习,django,json)