导入插件,导入jquery,json是添加的json文件
urls.py
path('in3/',views.in3),
views.py
def in3(request):
return render(request,'07.html')
要返回数据的path没有写,html就是下面图片中控制台的内容,记得传递参数
07.html【get请求】
{% load static %}
Title
用户名:
密码:
07.html【post请求】
{% load static %}
Title
{% csrf_token %}
用户名:
密码:
post请求比get请求要多一个csrf请求头,不写报404错误
绝大多数情况使用get,传递密码这些用post,post只是相对于get安全点
edge浏览器
Google浏览器
请求头,返回数据都是一样的,有报错的话,还是使用谷歌浏览器,Edge浏览器有些报错信息写的不详细
json文件要放在static文件下才会识别到
data.json
{
"total": 4,
"data": [
{
"name": "三国演义",
"category": "文学",
"desc": "一个军阀混战的年代"
},{
"name": "三国演义2",
"category": "文学2",
"desc": "一个军阀混战的年代2"
}
],
"obj": {"adf": "adf"}
}
urls.py
#获取json数据
path('in4/',views.in4)
#json数据
path('gjson/', views.Jsond, name='gjson'),
views.py
def Jsond(request):#JsonResponse(json文件)
with open('static/data.json', 'r') as json_file:
data = json.load(json_file)
response = JsonResponse(data)
# 设置X-Content-Type-Options头部
response['X-Content-Type-Options'] = 'nosniff'
return response
def in4(request):
return render(request,'08.html')
json也可以写为这样,不过要导入JsonResponse
from django.http import JsonResponse
def Jsond(request):#JsonResponse(json文件)
with open('static/data.json', 'r') as json_file:
data = json.load(json_file)
return JsonResponse(data)
08.html
{% load static %}
Title
这里多了cashe,默认为true,缓存请求的数据至浏览器,以减少下次请求时间,【改变json文件后,需要改为false或关闭浏览器重新启动服务器,用以清除缓存好的数据】
点击click后