一、web应用模式
# 前后端混合开发(前后端不分离):返回的是html的内容,需要写模板,就像是我们写bbs项目时创建的.html文件,在里面写Python代码
#前后端分离:后端工程师只专注于写后端接口,返回json,xml格式数据
前端框架有vue使用的比较多,可以打包出app
- 回忆
#回忆视图层的JsonResponse具体使用方法
JsonResponse(python数据)
from django.http import JsonResponse
def func1(request):
return JsonResponse({'a':'aaa','b','bbb'}) # 将Python字典数据处理成Json数据传给前端
def func2(request):
user_dict = {'a':'大爷','b','bbb'}
# 查源码可知,可以书写json序列化的参数,也可以让python数据不局限于字典
return JsonResponse(user_dict, json_dumps_params={ensure_ascii:False},safe=False)
#我们可以直接用django提供的内置序列化组件就可以将queryset对象封装为字典。
# 导入内置序列化模块
from django.core import serializers
# 调用该模块下的方法,第一个参数是你想以什么样的方式序列化你的数据
res = serializers.serialize('json', book_queryset)
return HttpResponse(res)
#回忆一下前端JS的BOM和DOM
二、API接口——前后端交互的媒介
因为前后端分离后,后端只需要写接口(前端向某个地址——一个url链接 发请求拿数据)
为了让大家写接口的时候用途一目了然,json里面的数据字段要规范
xml数据都是标签包着的不是很好看,现在都是json为主流,方便美观
#举例
url地址: http://127.0.0.1/books
请求方式: get,post,delete,put ...
# xml格式 标签包着的
<xml>
<name>daliu</name>
</xml>
# json 类似字典
{"name":"daliu"}
一句话总结:http://api接口/路径 +?携带的数据(可以不携带)
组合起来就是功能的实现
#以后我们作为后端就是写接口,前端就能得到这些数据 下面这个链接里面的乱码是使用了url中文转码技术
https://api.map.baidu.com/place/v2/search?ak=6E823f587c95f0148c19993539b99295®ion=%E5%A4%A9%E6%B4%A5&query=%E8%82%AF%E5%BE%B7%E5%9F%BA&output=json
三、接口测试工具postman
postman是目前最好用的,模拟发送http请求的工具
因为浏览器只能发get请求,不能直接发post请求(以前都是ajax包着js发)
这个工具只是用来发送Http请求
#直接官网下载,安装后自动打开
#解析json的网站
http://www.json.cn/
#今日单词
pretty 漂亮的(美化)
raw 原生(未加工的)/ row 一行
preview 预览
标签:http,入门,day01,JsonResponse,接口,json,序列化,数据,drf
From: https://www.cnblogs.com/wznn125ml/p/17077111.html