Python面试题:如何使用Django Rest Framework构建RESTful API

使用 Django Rest Framework (DRF) 构建 RESTful API 是一个常见且强大的方法。以下是一个详细的指南,帮助你从头开始创建一个基本的 Django 项目,并使用 DRF 构建一个 RESTful API。

环境准备

  1. 安装 Django 和 Django Rest Framework:

    pip install django djangorestframework
    
  2. 创建 Django 项目:

    django-admin startproject myproject
    cd myproject
    
  3. 创建应用:

    python manage.py startapp myapp
    

配置 Django 项目

  1. 添加应用到 INSTALLED_APPS:
    myproject/settings.py 中,添加 rest_framework 和你的应用 myapp
    INSTALLED_APPS = [
        ...
        'rest_framework',
        'myapp',
    ]
    

创建模型

  1. 定义模型:
    myapp/models.py 中定义你的模型。例如,一个简单的用户模型:

    from django.db import models
    
    class User(models.Model):
        name = models.CharField(max_length=100)
        email = models.EmailField(unique=True)
    
        def __str__(self):
            return self.name
    
  2. 迁移数据库:

    python manage.py makemigrations
    python manage.py migrate
    

创建序列化器

  1. 定义序列化器:
    myapp/serializers.py 中定义你的序列化器:
    from rest_framework import serializers
    from .models import User
    
    class UserSerializer(serializers.ModelSerializer):
        class Meta:
            model = User
            fields = ['id', 'name', 'email']
    

创建视图和 URL

  1. 定义视图:
    myapp/views.py 中定义你的视图:

    from rest_framework import generics
    from .models import User
    from .serializers import UserSerializer
    
    class UserListCreate(generics.ListCreateAPIView):
        queryset = User.objects.all()
        serializer_class = UserSerializer
    
    class UserRetrieveUpdateDestroy(generics.RetrieveUpdateDestroyAPIView):
        queryset = User.objects.all()
        serializer_class = UserSerializer
    
  2. 配置 URL:
    myapp/urls.py 中配置 URL 路由:

    from django.urls import path
    from .views import UserListCreate, UserRetrieveUpdateDestroy
    
    urlpatterns = [
        path('users/', UserListCreate.as_view(), name='user-list-create'),
        path('users/<int:pk>/', UserRetrieveUpdateDestroy.as_view(), name='user-detail'),
    ]
    
  3. 包括应用的 URL 到主 URL 配置:
    myproject/urls.py 中包括应用的 URL:

    from django.contrib import admin
    from django.urls import path, include
    
    urlpatterns = [
        path('admin/', admin.site.urls),
        path('api/', include('myapp.urls')),
    ]
    

运行服务器

  1. 启动开发服务器:

    python manage.py runserver
    
  2. 测试 API:
    你现在可以使用浏览器、Postman 或 curl 来测试你的 API。例如:

    • 获取用户列表: GET http://127.0.0.1:8000/api/users/
    • 创建新用户: POST http://127.0.0.1:8000/api/users/,并在请求体中提供用户数据(JSON 格式)
    • 获取单个用户: GET http://127.0.0.1:8000/api/users/1/
    • 更新用户: PUT http://127.0.0.1:8000/api/users/1/,并在请求体中提供更新的数据(JSON 格式)
    • 删除用户: DELETE http://127.0.0.1:8000/api/users/1/

总结

通过上述步骤,你可以使用 Django 和 Django Rest Framework 构建一个简单但功能强大的 RESTful API。这是一个基本的例子,你可以根据需要添加更多的功能,例如认证、权限、分页等。Django Rest Framework 提供了许多内置功能和工具,帮助你快速构建和扩展你的 API。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杰哥在此

赠人玫瑰 手有余香

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值