当前位置: 首页 > 网络应用技术

Django如何调用接口?

时间:2023-03-07 17:03:52 网络应用技术

  简介:本文的首席执行官注释将介绍有关Django如何调用界面的相关内容。我希望这对每个人都会有所帮助。让我们来看看。

  让我首先谈论前排条件

  1.首先构建django环境win+r打开命令提示符pip安装django

  3.然后创建一个自己的应用程序

  同样,在命令提示符的路径上,输入新创建的项目所在的路径,输入python manage.py startapp xxx(这是指您要创建的名称),您可以看到创新的编辑器可以看到

  4.正式开始开发邮政请求

  首先在seetings.py文件中设置参数以对其进行修改,如图所示

  Views.py

  最后,在模板文件夹下创建一个HTML文件以简单地写下前端

  我直接发布登录。html我在这里写的

  代码部分是要完成效果

  您也可以输入提琴手检查验证。为了找到更好的选择,我们首先打开提琴手,然后输入用户名密码。

  你可以得到这样的包

  用户名,密码的值也与我们输入的输入一致

  在此处完成简单的帖子请求开发

  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 the Docoration @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测试渲染

  类别和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配置中,我们可以修改所有主机。一些在线数据。我们调试本地数据的一部分,因此我们需要重新确定本地主机

  修改一些主机链接

  这导致使用在线主机端口的交叉域本身,但是数据中的某些数据是本地主机端口导致交叉域访问

  结论:以上是首席CTO注释供每个人拨打界面的Django的所有内容。感谢您阅读本网站的内容。我希望这对您有帮助。有关Django如何调用接口相关内容的更多信息,请不要忘记此站点上的信息。