Хорошо, я думаю, что вы новичок в Django rest и пытаетесь понять его ход, чтобы я мог объяснить это на примере плана подписки.
Сначала создайте модель в файле models.py
from django.db import models
class SubscriptionPlan(models.Model):
plan_name = models.CharField(max_length=255)
monthly_price = models.IntegerField()
yearly_price = models.IntegerField()
Затем создайте представления в файле view.py, например
from rest_framework.views import APIView
class SubscriptionCreateAPIView(APIView):
serializer_class = SubscriptionSerializer
def post(self, request):
serializer = self.serializer_class(data=request.data)
serializer.is_valid(raise_exception=True)
serializer.save()
return Response(
{'message': 'Subscription plan created successfully.',
'data': serializer.data},
status=status.HTTP_201_CREATED
)
, а затем определите сериализатор для проверки и поля, в которых мы можем проверить, какие поля будут включены в запрос иобъект ответа.serializers.py
from rest_framework import serializers
from .models import SubscriptionPlan
class SubscriptionSerializer(serializers.ModelSerializer):
plan_name = serializers.CharField(max_length=255)
monthly_price = serializers.IntegerField(required=True)
yearly_price = serializers.IntegerField(required=True)
class Meta:
model = SubscriptionPlan
fields = (
'plan_name', 'monthly_price', 'yearly_price',
)
def create(self, validated_data):
return SubscriptionPlan.objects.create(**validated_data)
Теперь добавьте URL-адреса в src / subsciption_module / urls.py
from django.urls import path
from .views import SubscriptionCreateAPIView
app_name = 'subscription_plan'
urlpatterns = [
path('subscription_plan/', SubscriptionCreateAPIView.as_view()),
]
В конце включите URL-адрес модуля в корневой файл urls.py, где будут находиться ваши основные URL-адреса.расположен.Это будет тот же каталог, который содержит файлы settings.py и wsgi.py.src / urls.py
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('api/v1/', include('src.subscription_plan.urls', namespace='subscription_plan')),
]
Вот и все.Вот как работает поток в django rest, и вы можете обрабатывать данные и отображать данные таким образом.Для более подробной информации вы можете обратиться к django rest docs.