刘刚刚的个人博客

drf基础使用示例

创建时间:2020-09-21 22:52:43
更新时间:2020-09-21 22:52:43

drf可以让开发者更快速的进行restfullApi的开发
  1. 安装

    在安装好django后可以以下命令安装drf

    pip3 install djangorestframework==3.10.3
  2. 注册

    在setting.py中注册 ‘rest_framework’

  3. Hello Word

    通过下边的内容,我们会创建一个具有curd功能的api接口

    1. 先创建一个项目dapp01

      python3 manager.py startapp dapp01
    2. 在model.py中写表模型

      from django.db import models
      
      class Hello(models.Model):
          id = models.AutoField(primary_key=True)
          content = models.CharField(max_length=32)
    3. 创建ser.py文件,写入以下内容

      from rest_framework.serializers import ModelSerializer
      from dapp01.models import Hello
      
      
      class HelloModelSerializer(ModelSerializer):
          class Meta:
              model = Hello
              fields = "__all__"
      
    4. 在view.py中写以下内容

      from rest_framework.viewsets import ModelViewSet
      from .models import Hello
      from .ser import HelloModelSerializer
      
      
      class HelloViewSet(ModelViewSet):
          queryset = Hello.objects.all()
          serializer_class = HelloModelSerializer
      
    5. 在urls.py中增加以下内容

      from django.contrib import admin
      from django.urls import path
      from dapp01 import views
      from rest_framework.routers import DefaultRouter
      
      router = DefaultRouter()  # 可以处理视图的路由器
      router.register('hello', views.HelloViewSet)  # 向路由器中注册视图集
      
      urlpatterns = [
          path('admin/', admin.site.urls),
      ]
      # 将两个路由列表相加,将路由器中的所以路由信息追到到django的路由列表中
      urlpatterns += router.urls
    6. 运行

      在项目根目录下执行以下命令

      #1.数据库迁移
      python3 manage.py makemigrations
      python3 manage.py migrate
      #2.启动项目
      python3 manage.py runserve

      在浏览器中输入网址:127.0.0.1/hello/ ,会显示以下页面

      image-20200709205758128

      在content输入框中,输入Hello World ,点击POST按钮,在绿色区域即可显示刚才输入的内容

      image-20200709211000940

到此,我们便已经完成了一个接口的开发,测试了get post ,其他接口可以通过postman进行测试.

我的名片

昵称:shuta

职业:后台开发(python、php)

邮箱:648949076@qq.com

站点信息

建站时间: 2020/2/19
网站程序: ANTD PRO VUE + TP6.0
晋ICP备18007778号