Home >Backend Development >Python Tutorial >Building a RESTful API using Django

Building a RESTful API using Django

PHPz
PHPzOriginal
2023-06-17 21:29:381230browse

Django is a web framework that makes it easy to build RESTful APIs. RESTful API is a web-based architecture that can be accessed through HTTP protocol. In this article, we'll cover how to use Django to build a RESTful API, including how to use the Django REST framework to simplify the development process.

  1. Installing Django

First, we need to install Django locally. You can use pip to install Django. The specific command is as follows:

pip install Django
  1. Create Django project

After installing Django, we can create a Django project by running the following command:

django-admin startproject projectname

Among them, projectname is the name of the project you want to create.

  1. Create a Django application

A Django project consists of applications. We need to create an application in the project to build a RESTful API. You can create an application by running the following command:

python manage.py startapp appname

where appname is the name of the application you want to create.

  1. Configuring the database

By default, Django uses SQLite as its default database. If you want to change the database, you can configure it in the project's settings.py file.

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'mydatabase',
        'USER': 'mydatabaseuser',
        'PASSWORD': 'mypassword',
        'HOST': '127.0.0.1',
        'PORT': '5432',
    }
}
  1. Create a model

In Django, a model is a class used to maintain data. We need to create the model associated with the 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)

In this example we create a model called Article which has title, content and created_at Field.

  1. Create a serializer

The serializer is used to serialize the model into JSON format for delivery to the client. This process can be simplified using the serializers provided by the Django REST framework.

from rest_framework import serializers
from .models import Article

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

In this example, we create a serializer named ArticleSerializer that serializes the Article model to contain id## JSON format for the #, title, content and created_at fields.

    Create View
View is used to process HTTP requests and return responses to the client. This process can be simplified using the view classes provided by the Django REST framework.

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

In this example, we create a view class

ArticleList and ArticleDetail. The ArticleList class handles GET and POST requests, the ArticleDetail class handles GET, PUT and DELETE requests. They both use the Article model and the ArticleSerializer serializer.

    Add URL
We need to map the view to a URL so that clients can access the RESTful API. This can be configured in the

urls.py file of the application.

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'),
]

In this example, we map the

ArticleList and ArticleDetail views to the URLs /articles/ and /articles/< ;pk>/. 3743615655418b561e68ee695446cfdb is the primary key of the Article model.

    Running Server
Now we can run the Django server and try to get data from the RESTful API.

python manage.py runserver

Visit

http://127.0.0.1:8000/articles/ to get a list of all instances of the Article model. Visit http://127.0.0.1:8000/articles/53384f78b45ee9f1e3082cf378b9c5b4/ to get the details of a single Article model instance.

Summary:

This article introduces how to use Django to build a RESTful API. By following the above steps, you can easily build a RESTful API and use the Django REST framework to simplify the development process. RESTful APIs are an important part of creating web applications, so Django provides good support and tools to help developers build powerful RESTful APIs.

The above is the detailed content of Building a RESTful API using Django. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn