Mastering Django Web Development

Explore and master the advanced features of Django to build professional, manageable web applications
1.4 (4 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.
70 students enrolled
$19
$95
80% off
Take This Course
  • Lectures 22
  • Length 1 hour
  • Skill Level Expert Level
  • Languages English
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works

Discover

Find online courses made by experts from around the world.

Learn

Take your courses with you and learn anywhere, anytime.

Master

Learn and practice real-world skills and achieve your goals.

About This Course

Published 2/2016 English

Course Description

Mastering Django Web Development shows you how to use advanced concepts to help you build professional grade Django applications.

We start off by learning how class-based views work so that you can fully benefit from this powerful, but often poorly understood feature. We’ll then create custom middleware which will help us better organize frequently used code.

Have you ever wanted to build a complete REST API? We’ll do just that, starting out with a basic read-only API and then adding key-based authentication to allow the full range of CRUD functionality. We’ll also utilize model managers and the Q method so that we can make it easier to get the data we need to our views and clients.

For the finishing touches, we’ll dive into the details of caching, to improve our application performance, and then add custom management commands to help us automate routine tasks.

By the end of this video course, you will emerge a Django expert.

About The Authors

Kevin Veroneau is a very active Python and Django developer who has worked for many start-ups, has an active Python blog, and has worked on a magnitude of Python projects over the years.

Matthew Nuzum has been developing web applications since 1999 and has worked for several start-ups including Canonical, the makers of Ubuntu, as well as Fortune 500 companies. He has a passion for helping others learn new technologies and has written numerous tutorials and help documents as well as running a web-focused user group based in his hometown of Des Moines.

What are the requirements?

  • Fine-tune your knowledge of Django with the help of these bite-size videos that will take you through the advanced concepts of this technology coupled with a practical implementation.

What am I going to get from this course?

  • Use complex class-based views to implement a variety of functionalities in Django
  • Optimize database querying with the use of different kinds of caching
  • Create and use your own custom middleware for a Django app
  • Play with your data to get custom results with the use of template tags and filters
  • Delve into advance database modeling to build a custom database field for your Django application
  • Perform repeat complex queries by using managers with your database models
  • Automate tasks that run at a specific time or interval with the aid of Crontab

What is the target audience?

  • If you’re ready to move beyond the basics and wish to take on the advanced concepts to make your applications work better and faster, this course is for you.

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.

Curriculum

Section 1: Advanced Uses of Class-based Views
02:27

This video will provide an overview of the course.

01:32

Generic class-based views provide a lot of functionality. Let's take a look at how you can easily extend them to create your own custom solutions.

02:09

The built–in, generic class-based views are actually made up of many reusable mixins. Take a look at how you can use the same technique to add your own behaviors into your class-based views.

01:07

You don't have to use generic class-based views. If you plan to override much of the built-in behavior or just don't need it, then you can start out with a simpler class, such as view.

02:56

You can create a single class-based view that can handle all of the operations for a set of data. These are sometimes called switchboard classes, and they can help make your code easier to maintain.

Section 2: Custom Middleware
02:30

Code that is used in many views can be moved into middleware, allowing it to operate either before or after your view code is executed.

02:46

Middleware classes are not fancy; they simply have one or more methods that correspond to one of the five predefined hooks available. Let's take a closer look at them here.

01:23

Showing users exceptions is unprofessional and may be a security problem. Let's examine an easier way to create middleware that catches and responds to unhandled exceptions

Section 3: Custom Template Tags and Filters
03:19

In this video we will explore the possibility of creating custom filters to make frequently used behaviors easily reusable for everyone on our team.

04:25

If you need a functionality that is too sophisticated for a filter, it should be a template tag. These are of several kinds, such as simple_tag for basic functionality and a template inclusion tag to bring in entire templates.

Section 4: Building a Rest API
03:40

With the growing popularity of Angular.js and similar tools, more applications need to provide a RESTful API. Tastypie is a Python module that does most of the work for us. Let's check it out.

02:12

Sometimes you want to modify the data before it goes out to the API. Tastypie makes it easy to add or customize the data returned from the API.

04:56

Not all applications work with a read-only API. Sometimes, you want full CRUD support from your API. You need to add an authentication step before you make this functionality available. Fortunately, Tastypie does all of this for us.

Section 5: Advanced Databases Modeling
02:09

Sometimes, you want to combine data from different models. It's not hard to do this with Python, but generic relationships allow Django to do this for you.

03:54

Have you wished you could add or edit many records to the database at once? With only a few lines of code, you can add this capability to your application.

03:15

Django's ORM works fine when your filters are combined using the AND operator. If you want to perform more complicated queries, you should use the Q function, which just gives you more flexibility with your logic.

Section 6: Caching for Optimum Performance
03:45

Is your application running slow? You may be performing expensive operations more often than necessary. We can use low-level caching operations to have tight control over our application's performance.

02:27

Do you have data that is accessed on many views? We already know we can create middleware to reduce duplication, but why not add caching at to middleware to also speed up performance?

02:49

If your cache needs are simpler, you can perform caching at the template level. This can provide a tremendous improvement in performance and is easy to use.

Section 7: Management and Maintenance of Your Application
02:08

Do you frequently perform the same query and filter operation in multiple views? Avoid duplication using model managers.

01:14

You may have a similar logic in multiple areas of the site to deal with inserting data. You can create a manager function that accepts your data as a parameter and centralizes your insertion logic.

02:58

Do you perform regular maintenance on your application? You can simplify periodic cron tasks by creating custom manage.py commands.

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Packt Publishing, Tech Knowledge in Motion

Over the past ten years Packt Publishing has developed an extensive catalogue of over 2000 books, e-books and video courses aimed at keeping IT professionals ahead of the technology curve. From new takes on established technologies through to the latest guides on emerging platforms, topics and trends – Packt's focus has always been on giving our customers the working knowledge they need to get the job done. Our Udemy courses continue this tradition, bringing you comprehensive yet concise video courses straight from the experts.

Ready to start learning?
Take This Course