/ / Tạo một API REST với Django REST Framework

Tạo một API REST với Django REST Framework

Nếu bạn đã sử dụng thiết bị kỹ thuật số để gửi và nhận thông tin, bạn đã sử dụng API. Các nhà phát triển tạo ra các API để cho phép người dùng tương tác với dữ liệu từ các ứng dụng của họ.


Tạo REST API là một cách thuận tiện để chia sẻ thông tin. Các API REST có các tiêu chuẩn xác định quy định việc chia sẻ dữ liệu giữa các thiết bị. Để hiểu cách hoạt động của các API REST, bạn có thể tạo một API từ đầu.

Bạn có thể sử dụng khuôn khổ Django REST để xây dựng một API REST và sử dụng nó để hiển thị dữ liệu từ cơ sở dữ liệu.


Sử dụng Django với API REST

Bạn có thể sử dụng API REST để tìm nạp dữ liệu có cấu trúc qua HTTP. Giống như nhiều ngôn ngữ và khuôn khổ khác, Django cho phép bạn xây dựng API của riêng mình và sử dụng những thứ khác.

Bạn cũng nên cài đặt sẵn các cài đặt sau:

  1. Phiên bản mới nhất của python.
  2. Phiên bản mới nhất của pip.
  3. Pipenv (mặc dù bạn có thể sử dụng venv thay thế nếu muốn.)
  4. Phiên bản mới nhất của Django.

Khi bạn đã cài đặt tất cả các phần mềm cần thiết, bạn đã sẵn sàng để bắt đầu.

1. Cài đặt Django REST Framework

Khung công tác Django REST là một bộ công cụ mạnh mẽ mà bạn có thể sử dụng để xây dựng và định cấu hình các API web. Các tính năng có thể tùy chỉnh của nó khiến nó trở thành một lựa chọn phổ biến để xây dựng các API REST.

Bạn có thể cài đặt khuôn khổ Django REST bằng lệnh sau:

pipenv install djangorestframework

2. Tạo ứng dụng Django

Hướng dẫn sau đây sẽ giải thích cách tạo ứng dụng thực phẩm để thu thập tên và mô tả về các loại thực phẩm phổ biến của Kenya. API sẽ tìm nạp các yêu cầu từ cơ sở dữ liệu để cho phép người dùng tương tác với dữ liệu đó.

Ứng dụng Django được trang bị SQLite cơ sở dữ liệu, vì vậy bạn không phải cài đặt cơ sở dữ liệu khác.

Để tạo một ứng dụng Django, trước tiên hãy tạo một dự án có tên là món ăn với lệnh sau:

django-admin startproject food 

Tiếp theo, tạo một ứng dụng Django có tên là kenyanfood:

django-admin startapp kenyanfood

3. Đăng ký Cài đặt Dự án Ứng dụng

Đăng ký kenyanfood ứng dụng trong cài đặt dự án trong ỨNG DỤNG ĐÃ CÀI ĐẶT mảng. Nếu bạn bỏ qua bước này, Django sẽ không nhận ra ứng dụng. Ngoài ra, đăng ký khuôn khổ Django REST trong cùng cài đặt:

INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'kenyanfood',
'rest_framework',
]

4. Đăng ký URL ứng dụng

Đăng ký kenyanfood URL ứng dụng trong dự án urls.py tệp như minh họa bên dưới:

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

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

5. Tạo Chế độ xem cho API

Tạo chế độ xem giả trong ứng dụng views.py để ứng dụng không bị lỗi. Đầu tiên, nhập Phản ứng sự vật @apiview trang trí từ khuôn khổ Django REST.

Phản ứng giúp trả về dữ liệu đã khử trùng trong JSON định dạng trong khi @apiview hiển thị API.

from django.shortcuts import render
from rest_framework.response import Response
from rest_framework.decorators import api_view


@api_view(['GET'])
def getFood(request):
return Response()

6. Tạo đường dẫn URL cho ứng dụng

Tạo đường dẫn URL cho chế độ xem API mà bạn đã tạo. Điểm cuối này hiển thị kenyanfood dữ liệu.

from django.urls import path
from . import views
from django.conf import settings

urlpatterns = [
path('', views.getFood),
path('post/', views.postFood),
]

7. Tạo mô hình cho ứng dụng

Lớp mô hình của ứng dụng được gọi là Món ăn. Nó sẽ giống như thế này:

from django.db import models


class Food(models.Model):
name = models.CharField(max_length=200)
description = models.CharField(max_length=500)

Đăng ký mô hình trong ứng dụng admin.py tệp như hình dưới đây:

from django.contrib import admin
from .models import Food


admin.site.register(Food)

8. Thực hiện di cư

Tiếp theo, di cư ứng dụng để tạo bảng trong SQLite cơ sở dữ liệu. Bạn có thể thực hiện việc này bằng lệnh sau:

python manage.py makemigrations kenyanfood

Tiếp theo, áp dụng các di chuyển này bằng cách chạy lệnh này:

python manage.py migrate

Quá trình di chuyển thành công sẽ giống như sau:

Di chuyển thành công có nghĩa là cơ sở dữ liệu đã tạo các bảng cho kenyanfood Ứng dụng.

9. Thêm dữ liệu vào cơ sở dữ liệu

Sử dụng Quản trị viên Django GUI để nhập dữ liệu vào cơ sở dữ liệu. Quản trị viên Django có giao diện tuyệt vời để trực quan hóa và quản lý dữ liệu ứng dụng của bạn.

Ngoài ra, bạn có thể sử dụng trình bao python trên dòng lệnh để nhập dữ liệu theo cách thủ công vào cơ sở dữ liệu. Trong hướng dẫn này, bạn sẽ sử dụng giao diện quản trị Django.

Sử dụng lệnh sau để thiết lập quản trị Django:

python manage.py createsuperuser

Khi được nhắc, hãy nhập tên người dùng, email và mật khẩu. Sau đó, bạn có thể mở trang quản trị bằng liên kết dưới đây:

http:

Bạn sẽ thấy trang đăng nhập:

Sau khi đăng nhập, bạn sẽ thấy giao diện quản trị Django với Các nhóm Người dùng người mẫu. Cả hai đều để xác thực; các Món ăn mô hình là trong phần dưới đây.

Bạn có thể thêm và xóa Món ăn các mục từ cơ sở dữ liệu từ trang quản trị. Thêm một số món ngon của Kenya, chẳng hạn như Ugali, Pilau và Chai, vào cơ sở dữ liệu.

Bây giờ cơ sở dữ liệu đã có dữ liệu, hãy tạo API

10. Tuần tự hóa mô hình

Serializers chuyển đổi các mô hình Django phức tạp sang JSON các đối tượng, làm cho dữ liệu dễ dàng đọc trên API. Việc tuần tự hóa giúp dữ liệu dễ đọc hơn trên API.

Tạo một tệp mới trong ứng dụng có tên serializer.py

from rest_framework import serializers
from .models import Food

class FoodSerializer(serializers.ModelSerializer):
class Meta:
model=Food
fields=('name','description')

Bạn nhập máy nối tiếp mô-đun từ rest_framework gói và tạo một FoodSerializer lớp kế thừa từ ModelSerializer lớp.

Tiếp theo, chỉ định Món ăn mô hình bạn muốn tuần tự hóa và các trường bạn muốn thêm vào API.

11. Cập nhật Chế độ xem

Tiếp theo, cập nhật chế độ xem API với bộ nối tiếpMón ăn các mô hình.

Đầu tiên, xác định một LẤY phương pháp lấy tất cả dữ liệu từ cơ sở dữ liệu với Food.Objects.all () hàm số. Sau đó tuần tự hóa dữ liệu và trả lại nó như một phản hồi trong JSON định dạng.

from django.shortcuts import render
from rest_framework.response import Response
from rest_framework.decorators import api_view
from .models import Food
from .serializer import FoodSerializer


@api_view(['GET'])
def getFood(request):
food = Food.objects.all()
serializer = FoodSerializer(food, many=True)
return Response(serializer.data)

Sau đó, điều hướng đến liên kết URL máy chủ:

https:

Bạn sẽ thấy API hiển thị dữ liệu từ cơ sở dữ liệu:

Xin chúc mừng, bạn đã tạo một API REST!

12. Thêm dữ liệu bằng phương pháp POST

Kiểm tra xem bạn có thể sử dụng REST API để thêm dữ liệu vào cơ sở dữ liệu hay không.

Đầu tiên, xác định một BƯU KIỆN trong khung nhìn.

@api_view(['POST'])
def postFood(request):
serializer = FoodSerializer(data=request.data)
if serializer.is_valid():
serializer.save()
return Response(serializer.data)

Sau đó, thêm một đường dẫn trong ứng dụng urls.py để tạo một điểm cuối cho API BƯU KIỆN chức năng.

urlpatterns = [
path('',views.getFood),
path('post/',views.postFood),
]

Tiếp theo, điều hướng đến URL này:

https:

Bạn sẽ thấy BƯU KIỆN điểm cuối. Thêm dữ liệu vào cơ sở dữ liệu trong JSON định dạng trong Nội dung và nhấp vào BƯU KIỆN cái nút. Ví dụ: thêm một mặt hàng thực phẩm mới với cấu trúc này:

{ "name":"Maziwa mala", "description":"Sour milk" }

Bạn sẽ thấy dữ liệu được hiển thị bằng màu đỏ trong JSON định dạng.

Bây giờ, nếu bạn điều hướng trở lại LẤY điểm cuối http://127.0.0.1:8000/bạn sẽ thấy thức ăn ‘Maziwa mala, ‘ và mô tả của nó được thêm vào.

Bây giờ bạn có một API REST có thể hiển thị và thêm các mục vào ứng dụng. Làm thế nào về việc thử nghiệm với cái khác CRUD các phương pháp? Làm việc với CẬP NHẬTXÓA BỎ các phương pháp sẽ tăng chức năng của API REST của bạn.

Cách tạo API REST với Django

Bây giờ bạn có thể tạo REST API bằng Django. Đầu tiên, tạo một Ứng dụng với một mô hình, Tuần tự hóa dữ liệu và tạo một chức năng xem. Tiếp theo, bao gồm các điểm cuối URL để trực quan hóa dữ liệu ở định dạng JSON.

Xây dựng các API REST với khuôn khổ Django REST là một cách thuận tiện để chia sẻ dữ liệu và mang đến cho người dùng của bạn trải nghiệm khách hàng tuyệt vời.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *