Build Your Own Backend REST API using Django REST Framework
4.6 (212 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
3,108 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Build Your Own Backend REST API using Django REST Framework to your Wishlist.

Add to Wishlist

Build Your Own Backend REST API using Django REST Framework

Finally create that App + fully-functioning user database in this complete crash course to building a REST API
4.6 (212 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
3,108 students enrolled
Last updated 7/2017
English
English
Current price: $10 Original price: $50 Discount: 80% off
5 hours left at this price!
30-Day Money-Back Guarantee
Includes:
  • 5.5 hours on-demand video
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • How to create the most important part of any user application
  • How to master the most in-demand full stack technologies today
  • How to create a local development server from scratch
  • How to create a brand new Django project with sqlite database
  • How to build your own browsable, self documenting REST API
  • Handle user registration, login, and status updates in your app with your very own REST API
View Curriculum
Requirements
  • A basic level of experience in any programming language.
  • Familiarity with simple command line tools like command prompt or terminal.
  • Access to a computer running either Windows 10 or Mac OS.
  • A passion for learning and a willingness to persevere when things get tough.
Description

Welcome to the comprehensive course on How to Build a REST API from scratch, using Django, Django REST Framework, Python, Vagrant, VirtualBox, Atom, and ModHeaders

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 with a backend REST API!

Not only is it essential to whatever app or MVP you’re 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 respect.

If you’re a back-end developer this course will help to sharpen your skills in some of the most in-demand technologies on the market today: Django, Django REST Framework and Python.

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 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 backend 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 I guarantee 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 becoming an expert in backend software development! 

Who is the target audience?
  • This course is for developers who want build a REST API either for their app, MVP or business idea.
  • This course is for frontend developers who want to learn backend.
  • This course is for any beginner to advanced level programmer who wants to build their own product, front to back, without having to find a backend developer!
Compare to Other Python Courses
Curriculum For This Course
72 Lectures
05:22:40
+
Course introduction
3 Lectures 09:20

Introduction video to How to build a REST API using Python & Django REST Framework. In this video I explain what the course is about and who it is for.

Preview 01:56

In this lesson I explain the teaching style and how best to take this course.

Preview 01:29

To build our REST API we are going to use Vagrant, VirtualBox, Atom, Python, Git, Django and Django REST Framework. In this lesson I explain how these will work together to create our REST API.

Preview 05:55
+
Setting up your development environment
1 Lecture 08:10

In this lesson I show you how to install all of the applications required for this course. 

I demonstrate using Windows, however, all of the applications required are available for Mac and Linux. 

If you already have these tools installed or you know how to install them yourself then feel free to skip this lesson. 

Just make sure you have Vagrant, VirtualBox, Atom, Git-SCM and ModHeader (a chrome extension) installed. You can find the links to each one in the resources.

Preview 08:10
+
Setting up your project
2 Lectures 16:46

In this lesson I'll explain how to create a local workspace where we will be storing all the code for our API.

Creating a workspace
07:54

In this lesson I'll show you how to create a README file for our project and initialise a new Git repository. I'll also show you how to make our first Git commit (something we'll be doing lots of throughout the course).

Update: The official GitHub Python .gitignore file is missing `.vagrant` from the list of ignored files. I've since updated this link to point to an extended version of the original Python.gitignore file which includes this extra item as well as `.sqlite3`. This makes Git ignore the temporary vagrant files and database which would typically be excluded from the git repository. (Thanks Keith for pointing this out!).

Creating a Git project
08:52
+
Creating a development server
4 Lectures 17:57

In this lesson I'll show you how to create a Vagrantfile which we will use to describe the server we need for our back-end API.

Creating a Vagrantfile
02:38

In this lesson I'll teach you how to customise your Vagrantfile to describe a server which has all the required dependencies and settings to build and test our API.

Configuring our Vagrant box
05:32

Here I will show you how to start and connect to our development server.

Running and connecting to our dev server
03:54

In this lesson I teach you how to run a traditional Python "Hello World" script on our newly created server.

Running a Hello World script
05:53
+
Creating a Django app
6 Lectures 25:34

In this lesson, I'll show you how to create a Python Virtual Environment using virtualenvwrapper.

Create Python Virtual Environment
06:30

In this lesson I'll show you how to install the required Python packages using Python PIP.

Install required Python packages
03:11

In this lesson I'll show you have to create a new Django project and app using the Django CLI.

Create a new Django project & app
03:59

In this lesson I'll show you how to enable our newly created app in the Django settings file.

Enable our app in the Django settings file
03:02

Here I'll show you how to save the Python PIP dependencies to a requirements file.

Saving our requirements
03:24

In this lesson I'll show you how to test and commit the changes to Git.

Test and commit our changes
05:28
+
Setup the Database
5 Lectures 34:50

In this lesson I'll introduce you to the concept of Django Models. 

What are Django Models?
00:45

Here I'll show you how to create a user database model which we will use to store our user profiles.

Create our user database model
15:41

In this lesson I'll show you how to create a model manager for our user profile model. This model manager will be used to help Django work with our custom user model.

Add a user model manager
09:07

In this lesson I show you how to set the custom user model in the Django settings.

Set our custom user model
01:40

Create migrations and sync DB
07:37
+
Setup Django Admin
3 Lectures 08:39

In this lesson I show you how to create a superuser.

Creating a superuser
02:41

In this lesson I show you how to enable the Django Admin.

Enable Django Admin
02:11

In this lesson we test the Django admin in the browser.

Test Django Admin
03:47
+
Introduction to API Views
9 Lectures 42:51

In this lesson I show you what an APIView is in the Django REST Framework.

What is an APIView?
03:11

Create first APIView
05:54

Configure view URL
06:51

Testing our API View
05:09

Create a Serializer
03:42

Add POST method to APIView
08:54

Test POST Function
02:18

Add PUT, PATCH and DELETE methods
04:05

In this lesson I show you how to test the PUT, PATCH and DELETE methods.

Notes:

When on the bottom of the hello-view page, ensure the Raw data tab is selected to see both the PUT and PATCH options.

Test the PUT, PATCH and DELETE methods
02:47
+
Introduction to Viewsets
6 Lectures 25:27
What is a Viewset?
02:53

Create a simple Viewset
03:58

Add URL Router
04:15

Testing our Viewset
02:01

Add create, retrieve, update, partial_update and destroy functions
08:12

Test Viewset
04:08
+
Create Profiles API
10 Lectures 38:44
Plan our Profiles API
02:21

Create user profile serializer
08:17

Create profiles Viewset
02:28

Register profile Viewset with the URL router
01:30

Test creating a profile
05:44

Create permission class
07:03

Add authentication and permissions to Viewset
03:33

Test new permissions
02:05

Add search profiles feature
02:24

Test searching profiles
03:19
4 More Sections
About the Instructor
Mark Winterbottom
4.6 Average rating
212 Reviews
3,108 Students
1 Course
Full-Stack Software Engineer

Hey, I’m Mark! I’m an award-winning full-stack software engineer with a passion for learning and teaching new technologies.

This passion started at 12-years-old when I taught myself how to make Windows batch scripts.  Little did I know that hacking around on my computer back then would turn into a life-long passion for programming.

I went on to complete a degree in Computer Systems Networking at Nottingham Trent University, and worked in various developer roles at multinational corporations and startups.  

I always believed that the final step to learning is teaching. And so I started a software development blog and consultancy firm called London App Developer.  My work has been featured in the Daily Mail, Mashable, TechCrunch, the Huffington Post, the Mirror and Gizmodo, and over 30,000 developers read my programming tutorials every month.

My goal for teaching on Udemy is to help developers make a better living through their code. Whether that’s by building new systems and tools to make the world a better place, or just to make their lives easier. If I can help them to increase their earning power, so they can better support their communities and loved ones, then even better. :)

My specialities are Python, Django, JavaScript, HTML5 and CSS3, but because I’m full-stack, I can work my way around most programming languages and frameworks.

I live in London, England with my wife and business partner, Brooke.

Brooke Rutherford
4.6 Average rating
212 Reviews
3,108 Students
1 Course
Brand & Marketing Communications

Hi! I'm Brooke. I'm a digital marketing professional with an expertise in social media, branding and content strategy. I'm also one half of a London-based software consultancy firm (and blog) called London App Developer. We make training guides and courses for the developer community. :)

After earning a MA in Communication from the University of Ottawa, I moved to London, England to start a career in journalism, PR and social media. After a short time in this city, I moved into education and technology, and the two have been a passion of mine ever since! 

I've worked for struggling start-ups and billion-dollar companies. My experience has been diverse. But each role and project has given me a unique perspective on how to connect and develop long-term, meaningful relationships with customers to drive sales and growth for brands and business.

Though not a developer by trade - I am in business/married to one! My role on Udemy right now is to help support the delivery of our first course called BUILD YOUR BACKEND USING PYTHON & DJANGO REST FRAMEWORK. We hope you enjoy it!

-Brooke