-
Убедитесь, что у вас установлен Django, создайте виртуальное окружение и активируйте его:
python -m venv venv source venv/bin/activate # Для Windows: venv\Scripts\activate
-
Установите зависимости:
pip install -r requirements.txt
-
Создайте новый проект Django и приложение:
django-admin startproject config cd config python manage.py startapp task -
В файле
config/settings.pyдобавьте приложение и Django REST Framework вINSTALLED_APPS:INSTALLED_APPS = [ # ... 'rest_framework', 'task', ]
-
Откройте файл
task/views.pyи определите функцию представления:from django.shortcuts import render from rest_framework.decorators import api_view from rest_framework.response import Response from rest_framework import status from .models import * from .serializers import * @api_view(['GET']) def my_views(request): queryset = PersonalData.objects.all() serializer = TaskSerializer(queryset, many=True) return Response(serializer.data)
-
Откройте файл
task/urls.pyи определите URL-маршрут для вашей функции представления:from django.contrib import admin from django.urls import path, include from myapp.views import my_view urlpatterns = [ path('admin/', admin.site.urls), path('my-url/', my_view, name='my-view'), ]
-
Запустите сервер разработки Django:
python manage.py runserver
-
Перейдите по адресу http://127.0.0.1:8000/my-url/ в браузере.
-
Установите Django REST Framework:
pip install djangorestframework
-
Откройте файл
task/serializers.pyи определите класс сериализатора:from rest_framework import serializers from .models import * class TaskSerializer(serializers.ModelSerializer): class Meta: model= PersonalData fields = '__all__' # exclude = ['id', 'title'] def validate(self, attrs): return super().validate(attrs)
-
В функции представления (
task/views.py) используйте сериализатор:from rest_framework.response import Response
@api_view(['GET']) def my_views(request): queryset = PersonalData.objects.all() serializer = TaskSerializer(queryset, many=True) return Response(serializer.data) ```
-
Определите модель PersonalData в файле (
task/models.py):Copy code from django.db import models class PersonalData(models.Model): name = models.CharField(max_length=76) last_name = models.CharField(max_length=100) phone = models.CharField(max_length=60) address = models.CharField(max_length=100) def __str__(self) -> str: return self.name
-
Создайте миграции и примените их:
Copy code python manage.py makemigrations python manage.py migrate
-
Запустите сервер разработки Django снова:
python manage.py runserver
-
Перейдите по адресу http://127.0.0.1:8000/my-url/ и проверьте, что сериализатор корректно обрабатывает запрос и возвращает ожидаемый ответ.