python
pip install django
pip install djangorestframework
python
django-admin startproject myproject
python
cd myproject
python
python manage.py startapp myapp
python
from django.db import models
class Book(models.Model):
title = models.CharField(max_length=100)
author = models.CharField(max_length=100)
publication_date = models.DateField()
python
from rest_framework import serializers
from .models import Book
class BookSerializer(serializers.ModelSerializer):
class Meta:
model = Book
fields = ['title', 'author', 'publication_date']
python
INSTALLED_APPS = [
...
'rest_framework',
...
]
python
from django.urls import path, include
urlpatterns = [
...
path('api/', include('myapp.urls')),
...
]
python
from django.shortcuts import get_object_or_404
from rest_framework.views import APIView
from rest_framework.response import Response
from .models import Book
from .serializers import BookSerializer
class BookList(APIView):
def get(self, request):
books = Book.objects.all()
serializer = BookSerializer(books, many=True)
return Response(serializer.data)
def post(self, request):
serializer = BookSerializer(data=request.data)
if serializer.is_valid():
serializer.save()
return Response(serializer.data, status=201)
return Response(serializer.errors, status=400)
python
from django.urls import path
from .views import BookList
urlpatterns = [
path('books/', BookList.as_view()),
]
python
python manage.py runserver