测开大佬告诉你:如何 5 分钟快速创建 restful 风格的 API 接口 - 使用 django restframework 框架

本贴最后更新于 1366 天前,其中的信息可能已经东海扬尘

一、思考❓❔

1.创建API接口难吗?

image.png

软件测试工程师:


2.如何创建API接口呢?

image.png



二、搭建项目工程??

image.png

1.创建项目

image.png



三、创建API接口????

image.png

1.创建子应用并迁移

image.png

# 在Terminal中创建子应用
python manage.py startapp users

# 进行数据库迁移
python manage.py makemigrations
python manage.py migrate

2.添加配置

在CreateRestfulAPI/settings.py中添加如下配置:

# 将'rest_framework'和'users.apps.UsersConfig'加入到INSTALLED_APPS列表中
INSTALLED_APPS = [

    # restframework子应用
    'rest_framework',
    # users子应用
    'users.apps.UsersConfig',
]

# restframework的全局配置放在REST_FRAMEWORK字典中
REST_FRAMEWORK = {
    # 使用Django自带permission_class来进行认证
    # 为认证的用户只有读的权限
    'DEFAULT_PERMISSION_CLASSES': [
        'rest_framework.permissions.DjangoModelPermissionsOrAnonReadOnly'
    ]
}

3.编写代码

from django.contrib.auth.models import User
from rest_framework.serializers import HyperlinkedModelSerializer


# 创建序列化器
class UsersModelSerializer(HyperlinkedModelSerializer):
    class Meta:
        model = User
        fields = ('url', 'username', 'email', 'is_staff', 'is_active', 'last_login')

from rest_framework import viewsets
from django.contrib.auth.models import User

from users.serializers import UsersModelSerializer


# 定义视图集
class UsersViewSet(viewsets.ModelViewSet):
    queryset = User.objects.all()
    serializer_class = UsersModelSerializer

from rest_framework.routers import DefaultRouter

from .views import UsersViewSet

# 创建DefaultRouter对象
router = DefaultRouter()
# 批量添加路由
router.register(r'users', UsersViewSet)

urlpatterns = [

]

urlpatterns += router.urls

from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    # 添加restframework自带的登录接口路由
    path('', include('rest_framework.urls', namespace='rest_framework')),
    # 添加子路由
    path('', include('users.urls')),
]

image.png


4.效果展示

image.png

image.png

image.png

image.png



六、总结??

image.png

image.png

回帖
请输入回帖内容 ...