Create a REST API using Python and the Django REST Framework
4.7 (43 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.
1,328 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Create a REST API using Python and the Django REST Framework to your Wishlist.

Add to Wishlist

Create a REST API using Python and the Django REST Framework

The complete course to creating your very own backend REST API
4.7 (43 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.
1,328 students enrolled
Last updated 5/2017
English
English
Current price: $10 Original price: $50 Discount: 80% off
1 day left at this price!
30-Day Money-Back Guarantee
Includes:
  • 4.5 hours on-demand video
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Make a local development server and backend for an app.
  • Create a new Django project that uses a sqlite database.
  • Build your own browsable, self documenting REST API.
  • Create a backend REST API that handles user registration, login, and status updates.
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

In this course I will teach you how to build a REST API from scratch, using Django and the Django REST Framework.

By the end of this course you will have a fully functioning REST API running on a Vagrant server on your local machine.

Not only will you learn how to build a REST API, you will also learn how to do it using industry practices which I have learnt from years and years of professional software development.

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

So, whether you are simply looking to gain a bit of experience with backend development, or you are looking to create a REST API to turn your app idea into a reality, this course is for you!

The REST API we'll be creating is capable of handling:

  • Creating and updating user profiles.
  • Login and authentication.
  • Posting status updates.
  • Viewing status update feeds.

This will give you a solid foundation you can build upon to become an expert in backend software development.

Who is the target audience?
  • This course is for developers who want build a REST API for their app.
  • 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 without having to outsource or hire.
Students Who Viewed This Course Also Viewed
Curriculum For This Course
Expand All 64 Lectures Collapse All 64 Lectures 04:42:34
+
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).

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
3 More Sections
About the Instructor
Mark Winterbottom
4.7 Average rating
40 Reviews
1,328 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.7 Average rating
40 Reviews
1,328 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