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