×

Tạo và quản lý API RESTful với Django REST Framework trong Python

Django REST Framework (DRF) là một công cụ mạnh mẽ giúp việc xây dựng và quản lý các API RESTful trong Python trở nên đơn giản và hiệu quả. Dưới đây là các bước chi tiết giúp bạn tạo và quản lý API RESTful sử dụng Django REST Framework trong Python.

Cài đặt Django và Django REST Framework

Trước tiên, bạn cần cài đặt Django và Django REST Framework. Bạn có thể thực hiện việc này bằng cách sử dụng pip, trình quản lý gói của Python.

pip install django
pip install djangorestframework

Sau khi cài đặt, tạo một dự án Django mới và di chuyển vào thư mục dự án:

django-admin startproject myproject
cd myproject

Tạo ứng dụng trong Django

Trong dự án Django, tạo một ứng dụng mới. Ứng dụng này sẽ chứa các mô hình, bộ điều khiển và các thành phần khác của API.

python manage.py startapp myapp

Cấu hình Django REST Framework

Thêm rest_framework vào danh sách các ứng dụng đã cài đặt trong settings.py của dự án:

INSTALLED_APPS = [
    ...
    'rest_framework',
    'myapp',
]

Tạo Mô hình (Model)

Tạo các mô hình cơ sở dữ liệu trong models.py của ứng dụng. Ví dụ, ta sẽ tạo một mô hình Book đơn giản:

from django.db import models

class Book(models.Model):
    title = models.CharField(max_length=100)
    author = models.CharField(max_length=100)
    published_date = models.DateField()

Tạo Serializer

Serializers chuyển đổi các mô hình Django thành định dạng JSON và ngược lại. Tạo một tệp mới có tên serializers.py và định nghĩa một serializer cho mô hình Book.

from rest_framework import serializers
from .models import Book

class BookSerializer(serializers.ModelSerializer):
    class Meta:
        model = Book
        fields = '__all__'

Tạo Viewset và Router

Viewsets định nghĩa các hành động sẽ thực hiện với mô hình, như truy xuất, tạo mới, cập nhật và xóa. Sử dụng router để tự động tạo các URL cho API.

Trong views.py, thêm mã sau:

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

class BookViewSet(viewsets.ModelViewSet):
    queryset = Book.objects.all()
    serializer_class = BookSerializer

Tiếp theo, tạo một tệp urls.py trong thư mục ứng dụng và định nghĩa router:

from django.urls import path, include
from rest_framework.routers import DefaultRouter
from .views import BookViewSet

router = DefaultRouter()
router.register(r'books', BookViewSet)

urlpatterns = [
    path('', include(router.urls)),
]

Trong tệp urls.py của dự án chính, thêm đường dẫn đến urlpatterns của ứng dụng:

from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('api/', include('myapp.urls')),
]

Chạy Server và Kiểm tra API

Cuối cùng, chạy server Django và kiểm tra API vừa tạo bằng cách thêm dữ liệu trực tiếp qua giao diện quản trị hoặc sử dụng các công cụ như Postman.

python manage.py migrate
python manage.py createsuperuser
python manage.py runserver

Mở trình duyệt và truy cập http://127.0.0.1:8000/api/books/ để xem API đã hoạt động.

Kết luận

Với các bước trên, bạn đã tạo thành công một API RESTful sử dụng Django REST Framework. DRF cung cấp nhiều tính năng mạnh mẽ như xác thực người dùng, phân quyền và dễ dàng mở rộng, giúp việc xây dựng và quản lý API trở nên thuận tiện và hiệu quả. Cho dù bạn là người mới học hay đã có kinh nghiệm, DRF vẫn là một lựa chọn tuyệt vời để phát triển các ứng dụng web hiện đại.

Comments