Udemy
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Development
Web Development Data Science Mobile Development Programming Languages Game Development Database Design & Development Software Testing Software Engineering Development Tools No-Code Development
Business
Entrepreneurship Communications Management Sales Business Strategy Operations Project Management Business Law Business Analytics & Intelligence Human Resources Industry E-Commerce Media Real Estate Other Business
Finance & Accounting
Accounting & Bookkeeping Compliance Cryptocurrency & Blockchain Economics Finance Finance Cert & Exam Prep Financial Modeling & Analysis Investing & Trading Money Management Tools Taxes Other Finance & Accounting
IT & Software
IT Certification Network & Security Hardware Operating Systems Other IT & Software
Office Productivity
Microsoft Apple Google SAP Oracle Other Office Productivity
Personal Development
Personal Transformation Personal Productivity Leadership Career Development Parenting & Relationships Happiness Esoteric Practices Religion & Spirituality Personal Brand Building Creativity Influence Self Esteem & Confidence Stress Management Memory & Study Skills Motivation Other Personal Development
Design
Web Design Graphic Design & Illustration Design Tools User Experience Design Game Design Design Thinking 3D & Animation Fashion Design Architectural Design Interior Design Other Design
Marketing
Digital Marketing Search Engine Optimization Social Media Marketing Branding Marketing Fundamentals Marketing Analytics & Automation Public Relations Advertising Video & Mobile Marketing Content Marketing Growth Hacking Affiliate Marketing Product Marketing Other Marketing
Lifestyle
Arts & Crafts Beauty & Makeup Esoteric Practices Food & Beverage Gaming Home Improvement Pet Care & Training Travel Other Lifestyle
Photography & Video
Digital Photography Photography Portrait Photography Photography Tools Commercial Photography Video Design Other Photography & Video
Health & Fitness
Fitness General Health Sports Nutrition Yoga Mental Health Dieting Self Defense Safety & First Aid Dance Meditation Other Health & Fitness
Music
Instruments Music Production Music Fundamentals Vocal Music Techniques Music Software Other Music
Teaching & Academics
Engineering Humanities Math Science Online Education Social Science Language Teacher Training Test Prep Other Teaching & Academics
AWS Certification Microsoft Certification AWS Certified Solutions Architect - Associate AWS Certified Cloud Practitioner CompTIA A+ Cisco CCNA Amazon AWS CompTIA Security+ AWS Certified Developer - Associate
Graphic Design Photoshop Adobe Illustrator Drawing Digital Painting InDesign Character Design Canva Figure Drawing
Life Coach Training Neuro-Linguistic Programming Personal Development Mindfulness Personal Transformation Meditation Life Purpose Coaching Neuroscience
Web Development JavaScript React CSS Angular PHP WordPress Node.Js Python
Google Flutter Android Development iOS Development Swift React Native Dart Programming Language Mobile Development Kotlin SwiftUI
Digital Marketing Google Ads (Adwords) Social Media Marketing Google Ads (AdWords) Certification Marketing Strategy Internet Marketing YouTube Marketing Email Marketing Retargeting
SQL Microsoft Power BI Tableau Business Analysis Business Intelligence MySQL Data Analysis Data Modeling Big Data
Business Fundamentals Entrepreneurship Fundamentals Business Strategy Online Business Business Plan Startup Freelancing Blogging Home Business
Unity Game Development Fundamentals Unreal Engine C# 3D Game Development C++ 2D Game Development Unreal Engine Blueprints Blender
2020-12-23 09:58:19
30-Day Money-Back Guarantee

This course includes:

  • 8 hours on-demand video
  • 5 articles
  • Full lifetime access
  • Access on mobile and TV
Development Web Development Django

Build a Backend REST API with Python & Django - Advanced

Create an advanced REST API with Python, Django REST Framework and Docker using Test Driven Development (TDD)
Bestseller
Rating: 4.5 out of 54.5 (3,420 ratings)
16,871 students
Created by Mark Winterbottom, Brooke Rutherford
Last updated 1/2021
English
English, French [Auto], 
30-Day Money-Back Guarantee

What you'll learn

  • Setting up a local development server with Docker
  • Writing a Python project using Test Driven Development
  • Building a REST API with advanced features such as uploading and viewing images
  • Creating a backend that can be used a base for your future projects or MVP
  • Hands on experience applying best practice principles such as PEP-8 and unit tests
  • Configure Travis-CI to automate code checks
Curated for the Udemy for Business collection

Course content

17 sections • 77 lectures • 8h 0m total length

  • Welcome to Build a Backend API with Django REST Framework - Advanced
    Preview02:20
  • Preview02:24
  • Preview01:03
  • Preview00:54
  • Preview01:25
  • Preview00:36

  • Preview00:48
  • Preview00:54
  • Django REST Framework
    Preview00:46
  • Preview00:35
  • Preview00:43
  • Preview00:18
  • Preview04:00

  • System setup
    00:37
  • Windows 10 Home Workaround
    00:55

  • Setup new GitHub project
    Preview02:50
  • Add Dockerfile
    Preview09:56
  • Configure Docker Compose
    Preview05:22
  • Custom configuration for Linux users
    01:21
  • Preview02:56

  • Preview01:41
  • Preview07:15
  • Travis-CI
    1 question

  • Writing a simple unit test
    05:47
  • Preview05:08
  • Django Unit Tests
    1 question

  • Create core app
    02:52
  • Add tests for custom user model
    05:41
  • Implement custom user model
    10:23
  • Normalize email addresses
    03:25
  • Add validation for email field
    02:36
  • Add support for creating superusers
    05:20
  • Django custom user model
    1 question

  • Add tests for listing users in Django admin
    09:30
  • Modify Django admin to list our custom user model
    02:27
  • Modify Django admin to support changing user model
    07:48
  • Modify Django admin to support creating users
    04:56

  • Add postgres to docker compose
    05:25
  • Add postgres support to Dockerfile
    05:43
  • Configure database in Django
    02:52

  • Preview01:30
  • Add tests for wait_for_db command
    11:43
  • Add wait_for_db command
    07:30
  • Make docker compose wait for db
    02:51
  • Test in browser
    03:01
  • Mocking
    2 questions

Requirements

  • Basic knowledge of programming and building simple applications
  • Familiar with Django
  • Comfortable using command line tools (Terminal/Command Prompt)
  • macOS, Linux or Windows machine capable of running Docker (This excludes Windows 10 Home)
  • Positive attitude and willingness to learn!

Description

Welcome to the advanced course on how to Build a Backend REST API using Python, Django (2.0), Django REST Framework (3.9), Docker, Travis CI, Postgres and Test Driven Development!

Whether you’re a freelance programmer, tech entrepreneur, or just starting out building backends - this course will help lay the foundation of your knowledge base and give you the tools to advance your skills with some of the most in-demand programming languages today.

APIs are the unsung heroes behind the technologies that we all love and use religiously.

One of the most critical components for any tech-based business is an API. So knowing how to create an API from start to finish is a vital skill to have as a developer. You cannot build a successful app without a backend REST API!

In this course I’ll show you how to build an advanced API that handles creating and updating user profiles, changing passwords, creating objects, uploading images, filtering and searching objects, and more.

The best way to learn anything is to do it. So the practical application of the course -- the project that you’ll build along side me -- is an API. A recipe API, to be specific.

You will learn how to build an advanced recipe API that allows you to upload and store some of your favourite recipes from photos and the web.

You’ll learn how to create objects i.e. recipes with titles, price points, cooking times, ingredients and tags like “comfort food”, “vegan” or “dessert”. Think of it as a virtual recipe box.

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

  • User authentication

  • Creating objects

  • Filtering and sorting objects

  • Uploading and viewing images

You’ll also learn, in detail how to:

  • Setup a project with Docker and Docker-Compose

  • Configure Travis-CI to automatically run linting and unit tests

  • Write unit tests using the Django Test Framework

  • Apply best practice principles including Test Driven Development  

  • Handle uploading media files with Django

  • Customize the Django admin

  • Configure a Postgres database

This course has one singular focus: To teach you how to create an advanced API from start to finish using best practice principles and Test Driven Development.

This course is NOT FOR YOU:

  • If you’re looking for a course to build an API, a front end, and deployment

  • If you’re looking to build 10 different apps in one course

  • If you want to learn lots of different technologies and approaches to app development in general

This is a hands-on course, with a bit of theory and lots of opportunities to test your knowledge.

The content is challenging but rewarding. Ready for it? Let’s dive in!

**PLEASE NOTE: You cannot run Docker on Windows 10 Home edition. This is because Windows 10 Pro or Enterprise is required in order to use Hyper-V which Docker uses for virtualization. To take this course you have two options. These are covered in Lecture 6, which is free to preview before purchasing the course.

Who this course is for:

  • Intermediate programmers who already have some understanding of Python and want to skill up
  • Developers proficient in other languages but looking to add Python to their toolkit

Featured review

Leo Boguslavskiy
Leo Boguslavskiy
68 courses
11 reviews
Rating: 4.5 out of 5a year ago
I am very happy I decided to take this course as it covers the topics I needed to familiarise myself with in order to begin with the backend development with Django. I highly appreciated that almost every video had written materials attached. The instructor Mark did a great job, the course was easy and fun to follow. I also got replies to my comments in the Q&A section, which was nice.

Instructors

Mark Winterbottom
Full-Stack Software Engineer
Mark Winterbottom
  • 4.5 Instructor Rating
  • 7,089 Reviews
  • 30,388 Students
  • 4 Courses

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
Brand & Marketing Communications
Brooke Rutherford
  • 4.5 Instructor Rating
  • 7,089 Reviews
  • 30,388 Students
  • 4 Courses

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

 

  • Udemy for Business
  • Teach on Udemy
  • Get the app
  • About us
  • Contact us
  • Careers
  • Blog
  • Help and Support
  • Affiliate
  • Terms
  • Privacy policy
  • Cookie settings
  • Sitemap
  • Featured courses
Udemy
© 2021 Udemy, Inc.