Erstellen einer RESTful-API mit Django

PHPz
Freigeben: 2023-06-17 21:29:38
Original
1220 Leute haben es durchsucht

Django ist ein Web-Framework, das die Erstellung von RESTful-APIs vereinfacht. RESTful API ist eine webbasierte Architektur, auf die über das HTTP-Protokoll zugegriffen werden kann. In diesem Artikel erfahren Sie, wie Sie mit Django eine RESTful-API erstellen und wie Sie das Django-REST-Framework verwenden, um den Entwicklungsprozess zu vereinfachen.

  1. Django installieren

Zuerst müssen wir Django lokal installieren. Sie können pip verwenden, um Django zu installieren. Der spezifische Befehl lautet wie folgt:

pip install Django
Nach dem Login kopieren
  1. Erstellen Sie ein Django-Projekt

Nach der Installation von Django können wir ein Django-Projekt erstellen, indem wir den folgenden Befehl ausführen:

django-admin startproject projectname
Nach dem Login kopieren

Darunter Projektname ist der Name des Projekts, das Sie erstellen möchten. projectname是你要创建的项目名称。

  1. 创建Django应用

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

python manage.py startapp appname
Nach dem Login kopieren

其中,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',
    }
}
Nach dem Login kopieren
  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)
Nach dem Login kopieren

在这个例子中,我们创建了一个名为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')
Nach dem Login kopieren

在这个例子中,我们创建了一个名为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
Nach dem Login kopieren

在这个例子中,我们创建了一个视图类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'),
]
Nach dem Login kopieren

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

  1. 运行服务器

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

python manage.py runserver
Nach dem Login kopieren

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

    Erstellen Sie eine Django-Anwendung

    Ein Django-Projekt besteht aus Anwendungen. Wir müssen im Projekt eine Anwendung erstellen, um eine RESTful-API zu erstellen. Sie können eine App erstellen, indem Sie den folgenden Befehl ausführen:

    rrreee🎜wobei appname der Name der App ist, die Sie erstellen möchten. 🎜
      🎜Konfigurieren der Datenbank 🎜🎜🎜Standardmäßig verwendet Django SQLite als Standarddatenbank. Wenn Sie die Datenbank ändern möchten, können Sie sie in der Datei settings.py des Projekts konfigurieren. 🎜rrreee
        🎜Erstellen Sie ein Modell🎜🎜🎜In Django ist ein Modell eine Klasse, die zum Verwalten von Daten verwendet wird. Wir müssen das mit der RESTful-API verknüpfte Modell erstellen. 🎜rrreee🎜In diesem Beispiel haben wir ein Modell namens Article erstellt, das über das Feld title, content und created_at verfügt. 🎜
          🎜Erstellen Sie einen Serializer 🎜🎜🎜Der Serializer wird verwendet, um das Modell in das JSON-Format zu serialisieren, um es an den Client zu liefern. Dieser Prozess kann mithilfe der vom Django REST-Framework bereitgestellten Serialisierer vereinfacht werden. 🎜rrreee🎜In diesem Beispiel erstellen wir einen Serializer namens ArticleSerializer, der das Article-Modell so serialisiert, dass es id, das JSON-Format des , enthält title, content und created_at Felder. 🎜
            🎜Ansichten erstellen 🎜🎜🎜Ansichten werden verwendet, um HTTP-Anfragen zu verarbeiten und Antworten an den Client zurückzugeben. Dieser Prozess kann mithilfe der vom Django REST-Framework bereitgestellten Ansichtsklassen vereinfacht werden. 🎜rrreee🎜In diesem Beispiel haben wir eine Ansichtsklasse ArticleList und ArticleDetail erstellt. Die Klasse ArticleList verarbeitet GET- und POST-Anfragen, und die Klasse ArticleDetail verarbeitet GET , PUT- und DELETE-Anfragen. Beide verwenden das Modell Article und den Serialisierer ArticleSerializer. 🎜
              🎜URL hinzufügen🎜🎜🎜Wir müssen die Ansicht einer URL zuordnen, damit Clients auf die RESTful-API zugreifen können. Dies kann in der Datei urls.py der Anwendung konfiguriert werden. 🎜rrreee🎜In diesem Beispiel haben wir die Ansichten ArticleList und ArticleDetail den URLs /articles/ und /articles/< zugeordnet. pk>/. <pk> ist der Primärschlüssel des Article-Modells. 🎜
                🎜Führen Sie den Server aus🎜🎜🎜Jetzt können wir den Django-Server ausführen und versuchen, Daten von der RESTful-API abzurufen. 🎜rrreee🎜Besuchen Sie http://127.0.0.1:8000/articles/, um eine Liste aller Instanzen des Article-Modells zu erhalten. Besuchen Sie http://127.0.0.1:8000/articles/<id>/, um detaillierte Informationen zu einer einzelnen Article-Modellinstanz zu erhalten. 🎜🎜Zusammenfassung: 🎜🎜In diesem Artikel wird erläutert, wie Sie mit Django eine RESTful-API erstellen. Indem Sie die oben genannten Schritte befolgen, können Sie ganz einfach eine RESTful-API erstellen und das Django REST-Framework verwenden, um den Entwicklungsprozess zu vereinfachen. RESTful-APIs sind ein wichtiger Bestandteil bei der Erstellung von Webanwendungen. Daher bietet Django gute Unterstützung und Tools, um Entwicklern beim Erstellen leistungsstarker RESTful-APIs zu helfen. 🎜

Das obige ist der detaillierte Inhalt vonErstellen einer RESTful-API mit Django. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage