찾다
백엔드 개발파이썬 튜토리얼Django를 사용하여 RESTful API 구축

Django를 사용하여 RESTful API 구축

Jun 17, 2023 pm 09:29 PM
restfulapidjango

Django는 RESTful API를 쉽게 구축할 수 있게 해주는 웹 프레임워크입니다. RESTful API는 HTTP 프로토콜을 통해 접근할 수 있는 웹 기반 아키텍처입니다. 이 문서에서는 Django REST 프레임워크를 사용하여 개발 프로세스를 단순화하는 방법을 포함하여 Django를 사용하여 RESTful API를 구축하는 방법을 다룹니다.

  1. Django 설치

먼저 Django를 로컬에 설치해야 합니다. pip를 사용하여 Django를 설치할 수 있습니다. 구체적인 명령은 다음과 같습니다.

pip install Django
  1. Django 프로젝트 생성

Django를 설치한 후 다음 명령을 실행하여 Django 프로젝트를 생성할 수 있습니다.

django-admin startproject projectname

그 중 projectname은 생성하려는 프로젝트의 이름입니다. projectname是你要创建的项目名称。

  1. 创建Django应用

Django项目由应用组成。我们需要在项目中创建应用来构建RESTful API。可以通过运行以下命令来创建应用:

python manage.py startapp appname

其中,appname是你要创建的应用名称。

  1. 配置数据库

默认情况下,Django使用SQLite作为其默认数据库。如果你想更改数据库,可以在项目的settings.py文件中进行配置。

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'mydatabase',
        'USER': 'mydatabaseuser',
        'PASSWORD': 'mypassword',
        'HOST': '127.0.0.1',
        'PORT': '5432',
    }
}
  1. 创建模型

在Django中,模型是用于维护数据的类。我们需要创建与RESTful API相关联的模型。

from django.db import models

class Article(models.Model):
    title = models.CharField(max_length=200)
    content = models.TextField()
    created_at = models.DateTimeField(auto_now_add=True)

在这个例子中,我们创建了一个名为Article的模型,它具有titlecontentcreated_at字段。

  1. 创建序列化器

序列化器用于将模型序列化为JSON格式,以传递给客户端。可以使用Django REST框架提供的序列化器来简化此过程。

from rest_framework import serializers
from .models import Article

class ArticleSerializer(serializers.ModelSerializer):
    class Meta:
        model = Article
        fields = ('id', 'title', 'content', 'created_at')

在这个例子中,我们创建了一个名为ArticleSerializer的序列化器,它将Article模型序列化为包含idtitlecontentcreated_at字段的JSON格式。

  1. 创建视图

视图用于处理HTTP请求并将响应返回给客户端。可以使用Django REST框架提供的视图类来简化此过程。

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

class ArticleList(generics.ListCreateAPIView):
    queryset = Article.objects.all()
    serializer_class = ArticleSerializer

class ArticleDetail(generics.RetrieveUpdateDestroyAPIView):
    queryset = Article.objects.all()
    serializer_class = ArticleSerializer

在这个例子中,我们创建了一个视图类ArticleListArticleDetailArticleList类处理GETPOST请求,ArticleDetail类处理GETPUTDELETE请求。它们都使用Article模型和ArticleSerializer序列化器。

  1. 添加URL

我们需要将视图映射到URL,以便客户端可以访问RESTful API。可以在应用的urls.py文件中进行配置。

from django.conf.urls import url
from .views import ArticleList, ArticleDetail

urlpatterns = [
    url(r'^articles/$', ArticleList.as_view(), name='article-list'),
    url(r'^articles/(?P<pk>[0-9]+)/$', ArticleDetail.as_view(), name='article-detail'),
]

在这个例子中,我们映射了ArticleListArticleDetail视图到URL /articles//articles/<pk>/</pk><pk></pk>Article模型的主键。

  1. 运行服务器

现在我们可以运行Django服务器,并尝试从RESTful API中获取数据。

python manage.py runserver

访问http://127.0.0.1:8000/articles/可以获取Article模型的所有实例的列表。访问http://127.0.0.1:8000/articles/<id>/</id>可以获取单个Article

    Django 애플리케이션 만들기

    Django 프로젝트는 애플리케이션으로 구성됩니다. RESTful API를 빌드하려면 프로젝트에 애플리케이션을 생성해야 합니다. 다음 명령을 실행하여 앱을 만들 수 있습니다.

    rrreee🎜여기서 appname은 만들려는 앱의 이름입니다. 🎜
      🎜데이터베이스 구성 🎜🎜🎜기본적으로 Django는 SQLite를 기본 데이터베이스로 사용합니다. 데이터베이스를 변경하려면 프로젝트의 settings.py 파일에서 구성하면 됩니다. 🎜rrreee
        🎜모델 만들기🎜🎜🎜Django에서 모델은 데이터를 유지하는 데 사용되는 클래스입니다. RESTful API와 연결된 모델을 생성해야 합니다. 🎜rrreee🎜이 예에서는 title, contentcreated_at 필드가 있는 Article이라는 모델을 만들었습니다. 🎜
          🎜직렬 변환기 만들기 🎜🎜🎜직렬 변환기는 클라이언트에 전달하기 위해 모델을 JSON 형식으로 직렬화하는 데 사용됩니다. 이 프로세스는 Django REST 프레임워크에서 제공하는 직렬 변환기를 사용하여 단순화할 수 있습니다. 🎜rrreee🎜이 예에서는 id, 의 JSON 형식을 포함하도록 <code>Article 모델을 직렬화하는 ArticleSerializer라는 직렬 변환기를 만듭니다. 제목, contentcreated_at 필드. 🎜
            🎜뷰 만들기 🎜🎜🎜뷰는 HTTP 요청을 처리하고 클라이언트에 응답을 반환하는 데 사용됩니다. 이 프로세스는 Django REST 프레임워크에서 제공하는 뷰 클래스를 사용하여 단순화할 수 있습니다. 🎜rrreee🎜이 예에서는 ArticleListArticleDetail 뷰 클래스를 만들었습니다. ArticleList 클래스는 GETPOST 요청을 처리하고 ArticleDetail 클래스는 GET를 처리합니다. , PUTDELETE 요청. 둘 다 Article 모델과 ArticleSerializer 직렬 변환기를 사용합니다. 🎜
              🎜URL 추가🎜🎜🎜클라이언트가 RESTful API에 액세스할 수 있도록 뷰를 URL에 매핑해야 합니다. 이는 애플리케이션의 urls.py 파일에서 구성할 수 있습니다. 🎜rrreee🎜이 예에서는 ArticleListArticleDetail 보기를 URL /articles//articles//. <pk></pk>Article 모델의 기본 키입니다. 🎜
                🎜서버 실행🎜🎜🎜이제 Django 서버를 실행하고 RESTful API에서 데이터를 가져올 수 있습니다. 🎜rrreee🎜http://127.0.0.1:8000/articles/를 방문하여 Article 모델의 모든 인스턴스 목록을 확인하세요. 단일 Article 모델 인스턴스에 대한 자세한 정보를 얻으려면 http://127.0.0.1:8000/articles/<id>/</id>를 방문하세요. 🎜🎜요약: 🎜🎜이 문서에서는 Django를 사용하여 RESTful API를 빌드하는 방법을 설명합니다. 위 단계를 따르면 쉽게 RESTful API를 구축하고 Django REST 프레임워크를 사용하여 개발 프로세스를 단순화할 수 있습니다. RESTful API는 웹 애플리케이션을 만드는 데 중요한 부분이므로 Django는 개발자가 강력한 RESTful API를 구축하는 데 도움이 되는 훌륭한 지원과 도구를 제공합니다. 🎜

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

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
Python 학습 : 2 시간의 일일 연구가 충분합니까?Python 학습 : 2 시간의 일일 연구가 충분합니까?Apr 18, 2025 am 12:22 AM

하루에 2 시간 동안 파이썬을 배우는 것으로 충분합니까? 목표와 학습 방법에 따라 다릅니다. 1) 명확한 학습 계획을 개발, 2) 적절한 학습 자원 및 방법을 선택하고 3) 실습 연습 및 검토 및 통합 연습 및 검토 및 통합,이 기간 동안 Python의 기본 지식과 고급 기능을 점차적으로 마스터 할 수 있습니다.

웹 개발을위한 파이썬 : 주요 응용 프로그램웹 개발을위한 파이썬 : 주요 응용 프로그램Apr 18, 2025 am 12:20 AM

웹 개발에서 Python의 주요 응용 프로그램에는 Django 및 Flask 프레임 워크 사용, API 개발, 데이터 분석 및 시각화, 머신 러닝 및 AI 및 성능 최적화가 포함됩니다. 1. Django 및 Flask 프레임 워크 : Django는 복잡한 응용 분야의 빠른 개발에 적합하며 플라스크는 소형 또는 고도로 맞춤형 프로젝트에 적합합니다. 2. API 개발 : Flask 또는 DjangorestFramework를 사용하여 RESTFULAPI를 구축하십시오. 3. 데이터 분석 및 시각화 : Python을 사용하여 데이터를 처리하고 웹 인터페이스를 통해 표시합니다. 4. 머신 러닝 및 AI : 파이썬은 지능형 웹 애플리케이션을 구축하는 데 사용됩니다. 5. 성능 최적화 : 비동기 프로그래밍, 캐싱 및 코드를 통해 최적화

Python vs. C : 성능과 효율성 탐색Python vs. C : 성능과 효율성 탐색Apr 18, 2025 am 12:20 AM

Python은 개발 효율에서 C보다 낫지 만 C는 실행 성능이 높습니다. 1. Python의 간결한 구문 및 풍부한 라이브러리는 개발 효율성을 향상시킵니다. 2.C의 컴파일 유형 특성 및 하드웨어 제어는 실행 성능을 향상시킵니다. 선택할 때는 프로젝트 요구에 따라 개발 속도 및 실행 효율성을 평가해야합니다.

Python in Action : 실제 예제Python in Action : 실제 예제Apr 18, 2025 am 12:18 AM

Python의 실제 응용 프로그램에는 데이터 분석, 웹 개발, 인공 지능 및 자동화가 포함됩니다. 1) 데이터 분석에서 Python은 Pandas 및 Matplotlib를 사용하여 데이터를 처리하고 시각화합니다. 2) 웹 개발에서 Django 및 Flask 프레임 워크는 웹 응용 프로그램 생성을 단순화합니다. 3) 인공 지능 분야에서 Tensorflow와 Pytorch는 모델을 구축하고 훈련시키는 데 사용됩니다. 4) 자동화 측면에서 파이썬 스크립트는 파일 복사와 같은 작업에 사용할 수 있습니다.

Python의 주요 용도 : 포괄적 인 개요Python의 주요 용도 : 포괄적 인 개요Apr 18, 2025 am 12:18 AM

Python은 데이터 과학, 웹 개발 및 자동화 스크립팅 필드에 널리 사용됩니다. 1) 데이터 과학에서 Python은 Numpy 및 Pandas와 같은 라이브러리를 통해 데이터 처리 및 분석을 단순화합니다. 2) 웹 개발에서 Django 및 Flask 프레임 워크를 통해 개발자는 응용 프로그램을 신속하게 구축 할 수 있습니다. 3) 자동 스크립트에서 Python의 단순성과 표준 라이브러리가 이상적입니다.

파이썬의 주요 목적 : 유연성과 사용 편의성파이썬의 주요 목적 : 유연성과 사용 편의성Apr 17, 2025 am 12:14 AM

Python의 유연성은 다중 파리가 지원 및 동적 유형 시스템에 반영되며, 사용 편의성은 간단한 구문 및 풍부한 표준 라이브러리에서 나옵니다. 유연성 : 객체 지향, 기능 및 절차 프로그래밍을 지원하며 동적 유형 시스템은 개발 효율성을 향상시킵니다. 2. 사용 편의성 : 문법은 자연 언어에 가깝고 표준 라이브러리는 광범위한 기능을 다루며 개발 프로세스를 단순화합니다.

파이썬 : 다목적 프로그래밍의 힘파이썬 : 다목적 프로그래밍의 힘Apr 17, 2025 am 12:09 AM

Python은 초보자부터 고급 개발자에 이르기까지 모든 요구에 적합한 단순성과 힘에 호의적입니다. 다목적 성은 다음과 같이 반영됩니다. 1) 배우고 사용하기 쉽고 간단한 구문; 2) Numpy, Pandas 등과 같은 풍부한 라이브러리 및 프레임 워크; 3) 다양한 운영 체제에서 실행할 수있는 크로스 플랫폼 지원; 4) 작업 효율성을 향상시키기위한 스크립팅 및 자동화 작업에 적합합니다.

하루 2 시간 안에 파이썬 학습 : 실용 가이드하루 2 시간 안에 파이썬 학습 : 실용 가이드Apr 17, 2025 am 12:05 AM

예, 하루에 2 시간 후에 파이썬을 배우십시오. 1. 합리적인 학습 계획 개발, 2. 올바른 학습 자원을 선택하십시오. 3. 실습을 통해 학습 된 지식을 통합하십시오. 이 단계는 짧은 시간 안에 Python을 마스터하는 데 도움이 될 수 있습니다.

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

WebStorm Mac 버전

WebStorm Mac 버전

유용한 JavaScript 개발 도구

SublimeText3 Linux 새 버전

SublimeText3 Linux 새 버전

SublimeText3 Linux 최신 버전

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

가장 인기 있는 오픈 소스 편집기

SublimeText3 영어 버전

SublimeText3 영어 버전

권장 사항: Win 버전, 코드 프롬프트 지원!

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.