文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Django REST框架:如何使用HTTP API构建Web服务?

2023-11-12 11:09

关注

Django REST框架是一个基于Django的强大的Web API框架,它使得构建Web服务变得更加容易和快速。本文将介绍如何使用Django REST框架来构建HTTP API服务。

  1. 安装Django REST框架

首先,需要安装Django REST框架。可以使用pip安装:

pip install djangorestframework
  1. 创建Django项目和应用

在安装了Django REST框架之后,需要创建一个Django项目和应用。可以使用以下命令来创建:

django-admin startproject project_name
cd project_name
python manage.py startapp app_name
  1. 配置Django REST框架

在Django项目的settings.py文件中,需要将Django REST框架添加到INSTALLED_APPS列表中:

INSTALLED_APPS = [
    ...
    "rest_framework",
    "app_name",
]
  1. 创建模型

在应用中创建一个模型,例如:

from django.db import models

class Book(models.Model):
    title = models.CharField(max_length=200)
    author = models.CharField(max_length=200)
    published_date = models.DateField()
  1. 创建序列化器

在应用中创建一个序列化器,例如:

from rest_framework import serializers
from .models import Book

class BookSerializer(serializers.ModelSerializer):
    class Meta:
        model = Book
        fields = "__all__"
  1. 创建视图

在应用中创建一个视图,例如:

from rest_framework import generics
from .models import Book
from .serializers import BookSerializer

class BookList(generics.ListCreateAPIView):
    queryset = Book.objects.all()
    serializer_class = BookSerializer

class BookDetail(generics.RetrieveUpdateDestroyAPIView):
    queryset = Book.objects.all()
    serializer_class = BookSerializer
  1. 配置URL

在应用的urls.py文件中,需要配置URL来映射视图,例如:

from django.urls import path
from .views import BookList, BookDetail

urlpatterns = [
    path("books/", BookList.as_view()),
    path("books/<int:pk>/", BookDetail.as_view()),
]
  1. 启动服务

现在可以启动Django服务器,并访问API:

python manage.py runserver

访问http://127.0.0.1:8000/books/可以获取所有的书籍列表,访问http://127.0.0.1:8000/books/1/可以获取id为1的书籍详情。

  1. 使用HTTP方法

Django REST框架支持HTTP方法,例如,可以使用POST方法创建一个新的书籍:

curl -d "{"title":"Python Crash Course", "author":"Eric Matthes", "published_date":"2021-01-01"}" -H "Content-Type: application/json" -X POST http://127.0.0.1:8000/books/

可以使用PUT方法更新一个书籍:

curl -d "{"title":"Python Crash Course 2nd Edition", "author":"Eric Matthes", "published_date":"2022-01-01"}" -H "Content-Type: application/json" -X PUT http://127.0.0.1:8000/books/1/

可以使用DELETE方法删除一个书籍:

curl -X DELETE http://127.0.0.1:8000/books/1/

到此为止,我们已经学会了如何使用Django REST框架来构建HTTP API服务。希望这篇文章对你有所帮助。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯