2.DjangoRestFramework【基于DRF的RESTAPI的序列化使用】

进入Django rest framwork官网就能看到rest_framwork相关的教程;

1.安装rest_framwork

pip install djangorestframework
pip install markdown       # Markdown support for the browsable API.
pip install django-filter  # Filtering support

2.在setting中注册

setting中注册

INSTALLED_APPS = [
    ...
    'rest_framework',
]

3.添加序列化工具

在子应用的根目录下面创建一个serializers.py序列化文件,对当前模型进行序列化.下面演示对shop类进行序列化:
shop\serializers.py

from rest_framework import serializers
from shop.models import Category

class CategorySerializer(serializers.ModelSerializer):
    """
    编写针对Category的序列化类
    本类指明了Category的序列化细节
    需要继承ModelSerializer 才可以针对模型进行序列化
    在Meta类中 model指明序列化的模型 fields指明序列化的字段
    """
    class Meta:
        model=Category
        fields="__all__"

4.添加视图模型

在视图模型shop.views中使用序列化

from rest_framework import viewsets

from shop.models import Category
from shop.serializers import CategorySerializer


class CategoryViewSets(viewsets.ModelViewSet):
    """
    分类视图:
    继承ModelViewSet之后拥有GET POST PUT PATCH DELETE等HTTP动词操作
    serilizer_class 指明序列化类
    """
    queryset = Category.objects.all()
    serializer_class = CategorySerializer

5.在根目录的url中注册drf路由

先把项目根目录设置为根目录:
在这里插入图片描述
在根目录下的urls中添加下面代码:

from django.contrib import admin
from django.urls import path, include
# 引入DRF默认自带的路由
from rest_framework import routers
from shop.views import CategoryViewSets

router=routers.DefaultRouter()
# 可以通过router默认路由注册资源
router.register('categorys',CategoryViewSets)

urlpatterns = [
    path('admin/', admin.site.urls),
    path('api/v1/',include(router.urls))
]

这样进入drf路由中就可以看到路由中的链接
在浏览器中输入http://127.0.0.1:8000/api/v1/
在这里插入图片描述
点击相关的链接就可以查询到相关信息,get是查询列表所有信息,post是修改信息,其他相关功能后续会继续介绍.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值