2026-03-07 15:45:10
导读:本篇文章首席CTO笔记来给大家介绍有关django如何接收postman的相关内容,希望对大家有所帮助,一起来看看吧。
(二)DjangoREST实践:最简单的RESTAPI实现本小节大概要花费10分钟。
在前面,我们已经学会了Django如何获得HTTP请求中的内容,以及如何获取HTTP请求的body。接下来我们就来写一个最简单的API。这个API要求在请求的HTTPbody中放入JSON格式的文本,并在解析文本后进行处理,返回JSON格式的数据。
我们定义API的URL为/api/sum/,功能是为两个数求和,并返回。
request中body的格式为:
response的格式为:
response中,我们的数据结构稍微有点复杂。
之后我们所有的RESTAPI都会以这种统一的格式返回数据,两个不同RESTAPI所返回内容的主要区别在data域上。
在(一)中,我们建立了一个叫做task_platform的Django项目。目录结构如下:
进入Django项目目录,并编辑task_platform中的views.py文件。
其中:
编辑task_platform/urls.py,将我们刚刚实现的API处理函数加入到路由表中。
运行Djangoserver:
用Postman模拟请求,可以看到:
经过练习,我们已经了解如何实现一个简单的RESTAPI了!我们之后的API都是建立在这个通讯模型之上的(当然还有一些使用GET方法的API)。在后面,我们将看看,如何通过这种模式,实现一个用户认证系统的RESTAPI。
如何在Django使用ajax的POSTDjango本身和ajax无关。
但是由于Django包含一套模板系统,你可以简单地将它理解为前端页面,在这些模板中,就像你作为一个前端工程师在html编写页面中,一样地使用ajax的POST方法。
Django可以在视图中,通过request.POST.get("xxx")的方法,接收ajax传过来的数据。
额外提醒,ajax的POST需要注意CSRF的安全问题,Django官方有现成的解决方案,到官方文档找到代码,贴到你的js中。
更多内容可以关注我的博客。
DjangoRESTframework框架之GET,POST,PUT,PATCH,DELETE等API请求接口设计
一、API接口功能需求:设计一些接口URL,让前端/客户请求这个URL去获取数据并显示,更改数据(增删改查),达到前后端分离的效果
二、设计逻辑:通过http协议请求方式GET、POST、PUT、PATCH、DELETE设计符合RESTful规范的api接口也就是URL
三、简易源码:
3.序列化serializers
#导入模型类和rest_framework序列化模块serializers
from.modelsimportArticle
fromrest_frameworkimportserializers
#定义序列化类,使用继承ModelSerializer方法
classArticleSerializer(serializers.ModelSerializer):
classMeta:
model=Article#指定序列化的模型类
fields='_all_'#选取序列化字段,此处可自行选取字段
4.视图函数views
fromdjango.httpimportHttpResponse
fromdjango.views.decorators.csrfimportcsrf_exempt
from.modelsimportArticle
from.serializersimportArticleSerializer
fromrest_framework.renderersimportJSONRenderer
fromrest_framework.parsersimportJSONParser
#调用csrf装饰器csrf_exempt模块,解决跨域访问问题
#JSONRenderer它将Python的dict转换为JSON返回给客户端
#JSONParser负责将请求接收的JSON数据转换为dict
#写法一
#在需要跨域的视图上调用装饰器@csrf_exempt
@csrf_exempt
defarticle_list(request):
ifrequest.method=='GET':
arts=Article.objects.all()#获取模型类数据
ser=ArticleSerializer(instance=arts,many=True)#序列化数据instance
#下一步用rest_framework方法里的JSONRenderer方法渲染数据
json_data=JSONRenderer().render(ser.data)
returnHttpResponse(json_data,content_type='application/json',status=200)
#写法二
classJSONResponse(HttpResponse):
def_init(self,data,**kwargs):
content=JSONRenderer().render(data)
kwargs['content_type']='application/json'
super(JSONResponse,self)._init(content,**kwargs)
#根据id进行增删改操作接口
@csrf_exempt
defarticle_detail(request,id):
try:
art=Article.objects.get(id=id)
exceptArticle.DoesNotExistase:
returnHttpResponse(status=404)
备注:
*写法二中定义JSONResponse类将返回的数据data与content_type返回类型做了封装
*API接口
GET/POST
GET/PUT/PATCH/DELETE
*Postman测试效果图
Django前后端分离JWT登录1.打开项目中settings配置
2.创建自定义返回数据格式
在Users应用目录下新建utils.py并配置文件
2.在Users应用目录下创建并打开urls.py
3.打开postman
验证的时候,我们使用的是rest_framework框架,该框架使用将在其他文档详细叙述。
结语:以上就是首席CTO笔记为大家整理的关于django如何接收postman的全部内容了,感谢您花时间阅读本站内容,希望对您有所帮助,更多关于django如何接收postman的相关内容别忘了在本站进行查找喔。