Django-rest-framework 01(接口框架创建、基本使用)

写在前面

Django-rest-framework的官方文档

https://www.django-rest-framework.org/

Django-rest-framework的中文翻译文档

http://www.sinodocs.cn/tutorial/quickstart.html

如果django零基础可以先看看这篇文章

https://blog.csdn.net/weixin_42216028/article/details/101552584

1、开始使用接口框架之前

①先创建一个新的django应用

 python manage.py startapp REST

②在setting里注册
在这里插入图片描述
③为REST造一个路由
在这里插入图片描述

2、开始安装、配置

①安装djangorestframework

pip install djangorestframework

②同步数据库

python manage.py migrate
2.1、创建一个序列化器
from django.contrib.auth.models import User, Group
from rest_framework import serializers


class UserSerializer(serializers.HyperlinkedModelSerializer):
    class Meta:
        model = User
        fields = ('url', 'username', 'email', 'groups')


class GroupSerializer(serializers.HyperlinkedModelSerializer):
    class Meta:
        model = Group
        fields = ('url', 'name')

在这里插入图片描述

2.2、视图获取用户和用户组
from django.contrib.auth.models import User, Group
from rest_framework import viewsets

# 导入创建的序列化器
from REST.serializers import UserSerializer, GroupSerializer


class UserViewSet(viewsets.ModelViewSet):
    queryset = User.objects.all()
    serializer_class = UserSerializer


class GroupViewSet(viewsets.ModelViewSet):
    queryset = Group.objects.all()
    serializer_class = GroupSerializer

在这里插入图片描述

2.3、路由

①先在根路由上注册REST这个应用
在这里插入图片描述
②再到REST/urls.py,组织API URLs

from REST import views
from django.urls import include, path
from rest_framework import routers

router = routers.DefaultRouter()
router.register(r'users', views.UserViewSet)
router.register(r'groups', views.GroupViewSet)


urlpatterns = [
    path('', include(router.urls)),
    path('rt/', include('rest_framework.urls', namespace='rt')),
]

在这里插入图片描述

2.4、注册rest_framework

添加 ‘rest_framework’ 到 INSTALLED_APPS中。这项配置位于 untitled/settings.py中
在这里插入图片描述

2.5、添加分页器

分页器允许你控制每页返回的数据条数。添加以下配置到untitled/settings.py中使之生效。

REST_FRAMEWORK = {
    'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.PageNumberPagination',
    'PAGE_SIZE': 10
}

在这里插入图片描述

3、开始运行

python manage.py runserver

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.1、如果报下图这样的错误

在这里插入图片描述

错误原因:

URL路径可以是任何你想要的,
但你必须包括'rest_framework.urls''rest_framework'命名空间。
在Django 1.9+中可以省略命名空间,REST框架将为你设置。

在这里插入图片描述

4、Django-rest-framework实现了什么

在这里插入图片描述

5、创建一个book表

REST/models.py

from django.db import models


class Book(models.Model):
    b_name = models.CharField(max_length=32)
    b_price = models.FloatField(default=1)

序列化,REST/serializers.py
在这里插入图片描述
视图,REST/views.py
在这里插入图片描述
路由,REST/urls.py
在这里插入图片描述
迁移

#生成迁移文件:
python manage.py makemigrations
#执行迁移文件:
python manage.py migrate

运行

python manage.py runserver

访问:books的连接就出来
在这里插入图片描述
写入一本书的数据
在这里插入图片描述
查看刚刚写入的数据
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值