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:
This will give you a solid foundation you can build upon to become an expert in backend software development.
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.
In this lesson I explain the teaching style and how best to take this course.
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.
In this lesson I'll explain how to create a local workspace where we will be storing all the code for our API.
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).
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.
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.
Here I will show you how to start and connect to our development server.
In this lesson I teach you how to run a traditional Python "Hello World" script on our newly created server.
In this lesson, I'll show you how to create a Python Virtual Environment using virtualenvwrapper.
In this lesson I'll show you how to install the required Python packages using Python PIP.
In this lesson I'll show you have to create a new Django project and app using the Django CLI.
In this lesson I'll show you how to enable our newly created app in the Django settings file.
Here I'll show you how to save the Python PIP dependencies to a requirements file.
In this lesson I'll show you how to test and commit the changes to Git.
In this lesson I'll introduce you to the concept of Django Models.
Here I'll show you how to create a user database model which we will use to store our user profiles.
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.
In this lesson I show you how to set the custom user model in the Django settings.
In this lesson I show you how to create a superuser.
In this lesson I show you how to enable the Django Admin.
In this lesson we test the Django admin in the browser.
In this lesson I show you what an APIView is in the Django REST Framework.
In this lesson I show you how to test the PUT, PATCH and DELETE methods.
When on the bottom of the hello-view page, ensure the Raw data tab is selected to see both the PUT and PATCH options.
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. :)
I live in London, England with my wife and business partner, Brooke.
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!