本文将告诉您如何与Django编写接口以及对应于Django的教程的相应的知识点。我希望这对您有帮助。不要忘记收集此网站。
本文目录清单:
1. DJANGO RESTFRAMEWORK(1):接口和规格2. DJANGO REST框架框架获取,发布,Put,Put,Patch,Patch,Patch,Delete,Delete和其他API请求接口设计3. DJANGO REST FRAFERWORK编写图片和测试接口4. django-restfuls:and the Front and the Front- 端VUE接口对接5.如何使用Django实现Web服务接口文件的上传6.如何使用Django实现WebService接口文件上传的函数1)使用API关键字来识别URL URL
2)优先选择接口数据安全性确定来选择HTTPS协议
3)如果界面有多个版本,则需要在URL中的出价中反映
4)接口参数的数据源称为资源。在URL中,通常使用资源复数形式。一个接口可以总结资源的多重操作方法
5)有许多请求方法,如何使用URL处理如何确保它不是混乱的,可以通过请求方法识别资源方法
2)状态代码文本提示
4)无法直接返回的资源(子资源,图片,视频和其他资源),返回资源的URL链接
1. API接口功能要求:设计一些接口URL,以允许前端/客户请求此URL获取数据并显示,更改数据(添加,删除和检查)
其次,设计逻辑:获取,发布,放置,补丁,删除通过HTTP协议请求符合恢复规格的设计
第三,简单的源代码:
3.序列化序列化
#IMPORT模型类和REST_FRAMEWORK序列化模块序列化器
从.models导入文章
来自REST_FRAMEWORK导入序列化器
#Define序列化类,使用Modelerializer方法
class carticleSerializer(serializers.modelserializer):
元类:
模型=文章#Specify序列化模型类
fields ='_ all _'#select序列化字段,您可以自己选择该字段
4.查看功能视图
来自django.http导入httpresponse
来自django.views.decocotors.csrf导入csrf_exempt
从.models导入文章
从.Serializer Import ArticleSerializer
来自REST_FRAMEWORK.RENDERERS导入JSONRENDERER
来自REST_FRAMEWORK.PARSERS导入JSONPARSER
#CH致电CSRF装饰CSRF_EXEMPT模块解决交叉域访问问题
#jsonrenderer,将python的dict转换为客户
#JSONPARSER负责转换要求接收到DICE的JSON数据
#写写一
#CALL装饰@CSRF_EXEMPT在交叉域视图上
@csrf_exempt
DEF ARTICE_LIST(请求):
如果request.method =='get':
Arts = Article.Objects.all()#get模型数据
ser = carticleSerializer(实例=艺术,许多= true)#serializatized数据实例
#Next,在REST_FRAMEWORK方法中使用JSONRENDER方法渲染数据
JSON_DATA = JSONRENDERER()。渲染(ser.data)
返回httpresponse(json_data,content_type ='application/json',status = 200)
#写法2
jsonresponse类(httpresponse):
def _ init(self,data,** kwargs):
content = jsonrenderer()。渲染(数据)
kwargs ['content_type'] ='application/json'
super(jsonresponse,self)._ init(内容,** kwargs)
#prand和删除并根据ID修改操作接口
@csrf_exempt
DEF ARTICE_DETAIL(请求,ID):
尝试:
art = article.objects.get(id = id)
除了文章。
返回httpresponse(状态= 404)
评论:
*写入方法II定义JSONRESPONSE类以打包返回的数据数据和content_type返回类型
*API接口
获取/发布
获取/put/patch/delete
*Postman测试渲染
自动化接口时,有时会遇到图片上传的接口。目前,内容类型不是应用程序/JSON。
这是DRF编写图片上传界面和测试。
1.写图片上传界面
首先创建一个文件夹我们要存储文件,并在settings.py中配置路径:
在项目的urls.py中配置媒体路线:
在应用程序的models.py中创建模型:
并在serializer.py中创建序列化:
写视图。
urls.py配置路由到应用程序:
最后,让我们测试:
类别和vue接口对接
首先是取出所有类别的所有内容
由于前端vue显示类别已分类
第一级,两个级别和三个级别如下
因此,我们需要取出所有三个内容
但首先,您需要拿出第一级,然后镶嵌第二级,然后在第三季度插入第二级,就像上面商品中显示的类别的内容一样。
我们仍然需要编写序列化器
这是第一个级别的第二级第二级第二级镶嵌第三级 -
但是这里有一个问题,不要犯错。这三个类别的立场并不是错误的。
因为第一级正在调用第二级,所以必须先写第二级
因此,第二级必须处于相同级别的相同级别。
然后是视图
在过滤器中添加类别_type = 1,以便您可以直接显示第一个类别,然后对第二个小类别有更分层的感觉。
同时,我们必须处理单个信息
因此,我们继承了Mixins.RetRieveModelMixin,这是一个显示详细信息的类
例如,在动物园中显示某个动物
/zoos/id
这样的URL
同样,我们只能直接配置类别的URL。
您不需要考虑以后的ID是否需要配置URL。您不需要考虑它,因为我们继承了视图类
他帮助我们解决了这些问题
您可以以这种方式看到它来处理我们的后端
但是,在处理前端对接时,您会发现它无法显示
因为有一个十字架问题
这个问题可以单独解决前后的后端,因此请谈谈后端方法
只需修改服务方
在GitHub上搜索Django-Cors-neaders以查找此信息
如何以相同的方式使用它
安装
PIP安装django-cors头
然后在Settins中的intasted_apps配置和设置中的中间件配置
请注意此处的中间软件配置
'corsheaders.middleware.corsmiddleware',
'django.middleware.common.commonmiddleware',
这两个必须放在
'django.middleware.csrf.csrfviewmiddleware',,
否则,这将在此前面有错误
也配置
cors_origin_allow_all = true
允许交叉域访问其默认值是错误的
这可以正常显示在前端
为什么发生交叉域访问
因为在VUE中的API配置中,我们可以修改所有主机。一些在线数据。我们调试本地数据的一部分,因此我们需要重新确定本地主机
修改一些主机链接
这导致使用在线主机端口的交叉域本身,但是数据中的某些数据是本地主机端口导致交叉域访问
WebService实际上是Web API,但为了促进使用通用数据格式(例如XML)。
因此,您可以使用第三方应用程序这样的第三方应用程序来独自构建这样的环境,也可以使用第三方应用程序(例如Djangorestframework)
Web服务简介Web服务Web服务是一个独立的平台,低耦合,自编程,可编程的Web应用程序,可以使用Open XML(标准标签语言的子集)进行描述和发布。配置这些应用程序以开发分布式互操作性应用程序。我们...
让我们谈谈如何与Django编写界面。感谢您阅读本网站的内容。有关Django使用教程的更多信息,以及如何与Django编写接口,请不要忘记在此站点上找到它。