Django 프레임워크를 사용하여 RESTful API 구축

PHPz
풀어 주다: 2023-09-28 21:01:50
원래의
1405명이 탐색했습니다.

Django 프레임워크를 사용하여 RESTful API 구축

Django 프레임워크를 사용하여 RESTful API 구축

웹 애플리케이션이 지속적으로 개발되면서 확장 가능하고 유연한 API를 구축하는 것이 현대 애플리케이션의 중요한 부분이 되었습니다. 널리 사용되는 개발 프레임워크인 Django 프레임워크는 RESTful API를 구축하는 빠르고 안정적인 방법을 제공합니다. 이 기사에서는 Django 프레임워크를 사용하여 RESTful API를 구축하는 방법을 소개하고 특정 코드 예제를 제공합니다.

  1. Django 프로젝트 및 애플리케이션 만들기
    먼저 로컬 환경에서 Django 프로젝트를 만들어야 합니다. 다음 명령을 사용하여 "myproject"라는 프로젝트를 만듭니다.
$ django-admin startproject myproject
로그인 후 복사

프로젝트 디렉토리로 이동하여 "api"라는 애플리케이션을 만듭니다.

$ cd myproject
$ python manage.py startapp api
로그인 후 복사
  1. 프로젝트 및 애플리케이션 구성
    프로젝트의 settings.py 파일에서 "rest_framework" 및 "api" 애플리케이션을 INSTALLED_APPS 목록에 추가해야 합니다.
INSTALLED_APPS = [
    ...
    'rest_framework',
    'api',
]
로그인 후 복사

요청 경로를 API 애플리케이션으로 전달하려면 프로젝트의 urls.py 파일도 구성해야 합니다.

from django.urls import include, path

urlpatterns = [
    ...
    path('api/', include('api.urls')),
]
로그인 후 복사
  1. 모델 및 직렬 변환기 만들기
    애플리케이션 API에서 먼저 API의 리소스를 나타내는 모델 클래스를 정의해야 합니다. 기사를 예로 들면, models.py 파일에 "Article"이라는 모델을 정의할 수 있습니다.
from django.db import models

class Article(models.Model):
    title = models.CharField(max_length=100)
    content = models.TextField()
    created_at = models.DateTimeField(auto_now_add=True)
로그인 후 복사

다음으로 api 디렉터리에 serializers.py라는 파일을 만들고 "ArticleSerializer"라는 직렬 변환기를 정의하여 모델 인스턴스를 JSON으로 변환해야 합니다.

from rest_framework import serializers
from api.models import Article

class ArticleSerializer(serializers.ModelSerializer):
    class Meta:
        model = Article
        fields = ['id', 'title', 'content', 'created_at']
로그인 후 복사
  1. 뷰 생성
    api 디렉터리에 views.py라는 파일을 생성하고 ArticleList라는 클래스 뷰를 추가하여 GET 및 POST 요청을 처리합니다.
from rest_framework import generics
from api.models import Article
from api.serializers import ArticleSerializer

class ArticleList(generics.ListCreateAPIView):
    queryset = Article.objects.all()
    serializer_class = ArticleSerializer
로그인 후 복사

또한 ArticleDetail이라는 클래스 뷰를 생성하여 단일 기사에 대한 GET, PUT 및 DELETE 요청을 처리할 수도 있습니다.

from rest_framework import generics
from api.models import Article
from api.serializers import ArticleSerializer

class ArticleDetail(generics.RetrieveUpdateDestroyAPIView):
    queryset = Article.objects.all()
    serializer_class = ArticleSerializer
로그인 후 복사
  1. URL 구성
    api 디렉터리에 urls.py라는 파일을 만들고 다음 코드를 추가하여 경로를 구성하세요.
from django.urls import path
from api import views

urlpatterns = [
    path('articles/', views.ArticleList.as_view(), name='article-list'),
    path('articles/<int:pk>/', views.ArticleDetail.as_view(), name='article-detail'),
]
로그인 후 복사
  1. 서비스 시작
    이제 개발 서버를 실행하고 API를 테스트할 수 있습니다.
$ python manage.py runserver
로그인 후 복사
  1. API 테스트
    Postman이나 컬 등의 도구를 사용하여 HTTP 요청을 보내 API를 테스트할 수 있습니다. 다음은 몇 가지 일반적인 API 요청 예시입니다.
  • 모든 기사 가져오기(GET 요청):

    GET http://localhost:8000/api/articles/
    로그인 후 복사
  • 단일 기사 가져오기(GET 요청):

    GET http://localhost:8000/api/articles/1/
    로그인 후 복사
  • 새 기사 만들기(POST 요청):

    POST http://localhost:8000/api/articles/
    Content-Type: application/json
    
    {
      "title": "Hello",
      "content": "This is a test article."
    }
    로그인 후 복사
  • 기사 업데이트(PUT 요청) ) :

    PUT http://localhost:8000/api/articles/1/
    Content-Type: application/json
    
    {
      "title": "Hello World",
      "content": "This is an updated test article."
    }
    로그인 후 복사
  • 기사 삭제(DELETE 요청) :

    DELETE http://localhost:8000/api/articles/1/
    로그인 후 복사

    요약:
    이 기사에서는 Django 프레임워크를 사용하여 RESTful API를 구축하는 방법을 소개했습니다. 모델과 직렬 변환기를 생성하고 보기와 URL 구성을 정의함으로써 완전한 기능을 갖춘 API를 신속하게 구축하고 테스트할 수 있습니다. 이는 현대적인 웹 애플리케이션을 구축하고 확장 가능한 서비스를 제공하는 데 좋은 기반을 제공합니다. Django 프레임워크를 사용하면 리소스 가져오기, 생성, 업데이트 및 삭제와 같은 일반적인 API 요구 사항을 쉽게 처리할 수 있습니다.

    (단어수: 1063)

    위 내용은 Django 프레임워크를 사용하여 RESTful API 구축의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!