Rest API

You might also like

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 6

Create Virtual Environment

Create Project
Create App
Register App With Project
Add rest_framework to install_apps in settings.py

pip install djangorestframework


Models.py
from django.db import models

# Create your models here.


class Book(models.Model):
title=models.CharField(max_length=100,blank=True)
author=models.CharField(max_length=100,blank=True)
isbn=models.CharField(max_length=100,blank=True)
publisher=models.CharField(max_length=100,blank=True)

def __str__(self):
return self.title
seriazlizers.py
from rest_framework import serializers
from .models import Book

class BookSerializer(serializers.ModelSerializer):
class Meta:
model=Book
fields=('id','title','author','isbn','publisher')
views.py
from django.shortcuts import render
from rest_framework import generics
from .models import Book
from .serializers import BookSerializer
# Create your views here.

class BookList(generics.ListCreateAPIView):
queryset=Book.objects.all()
serializer_class=BookSerializer

class BookDetail(generics.RetrieveUpdateDestroyAPIView):
queryset=Book
serializer_class=BookSerializer
Admin.urls.py
from django.contrib import admin
from django.urls import path
from myapp.views import BookList,BookDetail

urlpatterns = [
path('api/books',BookList.as_view()),
path('api/books/<int:pk>',BookDetail.as_view()),
path('admin/', admin.site.urls),
]

You might also like