Build a Backend REST API with Python & Django – Beginner

Build a Backend REST API with Python & Django – Beginner

Welcome to the beginner course on How to Build a REST API from scratch, using Django, Django REST Framework, Python, Vagrant, VirtualBox, Atom, and ModHeaders. You’ll also learn how to deploy your dev. server to AWS!

This course is made with Django 2.2 and Django REST Framework 3.9.

The skills taught in this course are absolutely essential for creating successful products that users love and can’t live without.

Facebook, Instagram, Snapchat, you name it. These apps all have their own backend REST APIs that handle millions of call requests everyday. You cannot build a successful app without a backend REST API.

Not only is it essential to whatever app or MVP you are building — the skills you learn in this course will make you a kickass developer in the workplace.

If you’re a front-end developer and you take this course, you’ll be able to “speak backend” with your colleagues and understand what’s going on “under the hood” of all your projects, increasing your confidence and earning the respect of your peers.

Here is an example of creating a simple REST API using Python and Django:

  1. Start by creating a new Django project using the following command:
django-admin startproject myproject

2. Next, create a new Django app within the project using the following command:

python startapp api

3. In the file, define the models for the API. For example:

from django.db import models

class Task(models.Model):
    title = models.CharField(max_length=100)
    completed = models.BooleanField(default=False)

    def __str__(self):
        return self.title

4. Run migrations to create the database tables for the models:

python makemigrations
python migrate

5. In the file, create serializers for the models to convert them into JSON format for the API:

from rest_framework import serializers
from .models import Task

class TaskSerializer(serializers.ModelSerializer):
    class Meta:
        model = Task
        fields = '__all__'

6. In the file, create views for the API using the Django Rest Framework (DRF):

from rest_framework import generics
from .models import Task
from .serializers import TaskSerializer

class TaskList(generics.ListCreateAPIView):
    queryset = Task.objects.all()
    serializer_class = TaskSerializer

class TaskDetail(generics.RetrieveUpdateDestroyAPIView):
    queryset = Task.objects.all()
    serializer_class = TaskSerializer

7. Finally, in the file, define the URL patterns for the API:

from django.urls import path
from .views import TaskList, TaskDetail

urlpatterns = [
    path('tasks/', TaskList.as_view(), name='task-list'),
    path('tasks/<int:pk>/', TaskDetail.as_view(), name='task-detail'),

8. To test the API, run the Django development server:

python runserver

If you’re a newbie developer or just starting out in your career, this course will give you a very practical foundation to building your portfolio and increasing your earning potential.

In this course you will learn the best-practice way of building your very own REST API.

You will learn how to create a local development server and test your code each step of the way.

Whether you’re looking to gain a bit of experience with back-end development, or you’re looking to create a REST API to turn your app idea into a reality – then this course is for you.

By the end of this course you will have built a fully functioning REST API that can handle:

  • Creating and updating user profiles.

  • Login and authentication.

  • Posting status updates.

  • Viewing status update feeds.

You’ll also have a solid foundation to understanding one of the most complex components in software development.

Agile project management Artificial Intelligence aws blockchain cloud computing coding interview coding interviews Collaboration Coursera css cybersecurity cyber threats data analysis data breaches data science data visualization devops django docker excel flask Grafana html It Certification java javascript ketan kk Kubernetes machine learning machine learning engineer Network & Security nodejs online courses online learning Operating Systems Other It & Software pen testing Project Management python Software Engineering Terraform Udemy courses VLAN web development

No posts found!

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.