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!
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).
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!).
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!