Learning Path: Django: A Practical Approach to Master Django
4.3 (9 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.
127 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Learning Path: Django: A Practical Approach to Master Django to your Wishlist.

Add to Wishlist

Learning Path: Django: A Practical Approach to Master Django

Ease the process for creating websites with Django
4.3 (9 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.
127 students enrolled
Created by Packt Publishing
Last updated 7/2017
English
Current price: $10 Original price: $200 Discount: 95% off
5 hours left at this price!
30-Day Money-Back Guarantee
Includes:
  • 13 hours on-demand video
  • 1 Supplemental Resource
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Get a complete hands on with a practical approach used in the course
  • Provides real life scenarios for understanding the concepts
  • Understand the class based views in Django
  • Learn to build custom middleware using Django
  • Reinforce the concepts by a project at the end of the course
View Curriculum
Requirements
  • Basic knowledge of Django is required.
Description

Django is a high-level Python-based framework that encourages rapid development and provides a clean, sensible design. Application development with Django can be summarized in these words: Easy Creation: Scalable Application.

The primary goal of Django is to ease the creation of complex and database-driven websites. Django supports the principle of not repeating yourself by providing support for reusability and pluggability. Some of the well-known companies using Django include Public Broadcasting Service (PBS), Instagram, Mozilla, and so on.  If you are a web developer knowing basics of Django and want to learn advanced features of Django, then this Learning Path is for you.

In this course, you will have an in-depth knowledge regarding various advanced features used by Django such as using class-based views, creation of custom middlewares, and templates. You will also get acquainted with some features like creating APIs and caching. You will also get a clear understanding of the topics with a lot of examples and practice. Finally you will gain knowledge of how Django projects are made by creating Django projects.

By the end of this Learning Path, you will be able to create advanced Django websites with the help of illustrative examples and practice.

About the Author:

For this course, we have combined the best works of this esteemed author:

Antonio Mele holds an MSc in Computer Science. He has been developing Django projects since 2006 and leads the django Spanish Django community. He has founded Zenx IT, a technology company that creates web applications for clients of several industries. Antonio has also worked as a CTO for several technology-based start-ups. His father inspired his passion for computers and programming.

Matthew Nuzum has been developing web applications since 1999 and worked for several start-ups including Canonical, 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.

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.

René Fleschenberg is a web developer/sysadmin hybrid with a focus on back-end development in Python and Django. He has been working with Django for about 5 years and has built a variety of Django-based websites. He co-maintains an open source Django-based e-commerce solution.

Who is the target audience?
  • A programmer or an enthusiast wanting to learn about the high-level Python framework to easily create scalable and efficient web applications.
Students Who Viewed This Course Also Viewed
Curriculum For This Course
120 Lectures
12:51:58
+
Django by Example
78 Lectures 09:12:39

This will give brief introduction to Entire course

Preview 04:47

Learn to install Django for local development.

Installing Django
04:24

Learn to build basic steps to complete blog site.

Creating Your First Project
08:04

Define the initial data models for our blog.

Designing the Blog Data Schema
07:01

Learn to create a simple administration site to manage blog posts.

Creating an Administration Site for Your Models
05:30

Learn how to retrieve information from the database and interact with it.

Working with QuerySet and Managers
08:19

We learn to create our application views and then we will define an URL pattern for each view

Building List and Detail Views
05:45

The ability to add templates to display posts in a user-friendly way.

Creating Templates for Your Views
03:57

Learn to import the Django paginator classes and modify the post_list view.

Adding Pagination
02:31

Define your views as class methods and provide base view classes for this.

Using Class-Based Views
03:03

Our objective in this video is to allow users to share posts by sending them by e-mail. To achieve this our video will help us to create forms and handle them in views.

Preview 05:48

In this video we will send emails with django and render forms in templates

Sharing posts by E-Mail
06:19

In this video we will build the base for creating a comment system. For that we will create the comments and the functionality to manage the comments for a post

Creating a Comment System
07:15

This video is the continuation of the previous one. Here we will cover how to Add comments to the post detail template.

Adding Comments to the Post
04:02

Ability to create a way to tag our posts

Adding Tagging Functionality
06:24

Learn to build a functionality to display similar posts by the number of tags that the user share

Retrieving Posts by Similarity
04:06

The ability to create a template of tags and filters.

Preview 10:57

Learn to generate sitemaps for your site.

Adding a Sitemap to Your Site
04:20

Learn to create sitemaps using the site's framework.

Creating Feeds for Your Blog Posts
02:10

The ability to perform case-insensitive lookups using the icontains filter.

Adding a Search Engine with Solr and Haystack
13:33

Learn to create a social application that will allow users to share images they find on the Internet.

Preview 02:45

Learn to build authentication framework that can handle user authentication, sessions, permissions, and user groups.

Using the Django Authentication Framework
14:14

The ability to change users passwords.

Password Authentication
05:20

Learn to build a view to allow visitors to create a user account.

User Registration and User Profiles
11:44

Learn to build an authentication through backend by using different sources.

Building a Custom Authentication Backend
03:26

The ability to add social authentication to your site using services such as Facebook, Twitter, or Google.

Adding Social Authentication to Your Site
09:28

Learn to allow users to bookmark and share images they find in other websites and share them in our site.

Preview 05:21

Learn to allow users to bookmark images from external websites.

Posting Content from Other Websites
14:05

The ability to create a simple detail view for displaying an image that has been saved into our site.

Creating a Detail View for Images
02:03

Learn to display the original image in the detail page.

Creating Image Thumbnails Using Sorl-Thumbnail
02:28

Generate AJAX actions to our application.

Adding AJAX Actions with jQuery
10:41

The ability to restrict our AJAX views to allow only requests generated via AJAX.

Creating Custom Decorators for Your Views
02:15

The ability to use AJAX pagination to build infinite scroll functionality.

Adding AJAX Pagination to Your List Views
05:50

Learn to build a follower system into our project which users will be able to follow each other and track what other users share on the platform.

Preview 06:30

Learn to build an activity stream application so that every user can see recent interactions of users he follows.

Building a Follower System (Continued)
06:27

Learn to save the actions performed by users on the website.

Building a Generic Activity Stream Application
08:28

Learn to denormalize data from our Image model and use Django signals to keep the data updated.

Building a Generic Activity Stream Application (Continued)
08:02

Learn to denormalize data from our Image model and use Django signals to keep the data updated

Using Signals for De-normalizing Counts
07:43

Learn how Redis can be used for building new functionality into our project.

Using Redis for Storing Item Views
07:46

In this video We are going to create a ranking of the most viewed images in our platform

Using Redis for Storing a Ranking
04:42

This video will enable you to browse through a product catalog and add products to a shopping cart. Finally, you will be able to check out the cart and place an order.

Preview 13:22

After building the product catalog, the next step is to create a shopping cart that will allow users to select the products that they want to purchase. So, What are we waiting for? Let's do it!

Building a Shopping Cart
10:57

Now that we have a Cart class to manage the cart, we need to create the views to add, update, or remove items from it. We need to create these views. So, let's see how to do it!

Creating Shopping Cart Views
07:17

This video will let you create a context processor which will enhance the efficiency of your shopping cart and give a better user interaction.

a Context Processor for the Current
04:18

When a shopping cart is checked out, you need to save an order into the database. Orders will contain information about customers and the products they are buying. For this, you need to register customer orders. This video will show you how to achieve this.

Registering Customer Orders
06:49

In many situations you might want to return a response to the user as quickly as possible and let the server execute some process asynchronously. Using Celery, you can create asynchronous tasks easily, let them be executed by workers as soon as possible and schedule them to run at a specific time. Let's do it right now!

Launching Asynchronous Tasks with Celery
07:55

Learn to integrate PayPal, which is one of the most popular payment gateways.

Preview 13:42

Learn to get a notification which is instantly sent to your server when the gateway processes a payment.

Payment Notifications
06:49

Learn to customize the administration site to be able to export orders to CSV files.

Exporting Orders to CSV Files
03:56

Learn to customize the administration site beyond what is possible through configuration of ModelAdmin, creation of admin actions, and overriding admin templates.

Extending the Admin Site with Custom Views
04:57

Learn to extend an admin template which you need to know its structure and identify existing blocks.

Generating PDF Invoices Dynamically
07:28

Learn to create a model to store the coupon code, a valid time frame, and the discount to apply.

Preview 15:22

Learn to mark strings for translation both in Python code and in your templates.

Adding Internationalization and Localization
08:22

Learn to translate literals in your Python code.

Translating Python Code
07:59

Learn to add template tag to translate string in order to use the translation template tags.

Translating Templates
06:40

The ability to edit translations using the same interface as the Django administration site.

Using the Rosetta Translation Interface
04:28

Learn to provide search engines with URLs that will rank better for each language.

URL Patterns for Internationalization
04:47

The ability to add a language selector to our site.

Allowing Users to Switch Language
01:38

Learn to provide a solution for translating models out of the box.

Translating Models with django-parler
09:21

Generate a separate database table for each model that contains translations.

Translating Models with django-parler (Continued)
08:05

Learn to create a simple yet powerful recommendation engine that suggests products that are usually bought together.

Building a Recommendation Engine
10:10

Learn to build a flexible Content Management System (CMS) that allows instructors to create courses and manage their contents.

Preview 01:35

Learn to build e-Learning platform which will offer courses in various subjects.

Building the Course Models
06:52

 to create a Content model that represents the module's contents.

Creating Models for Diverse Content
07:38

The ability to create your own model fields to store custom data or alter the behavior of existing fields.

Creating Custom Model Fields
07:56

Learn to build a content management system (CMS) which will allow instructors to create courses and manage their content.

Creating a Content Management System
07:57

The ability to create a group for instructor users and assign permissions to create, update, and delete courses.

Working with Groups and Permissions
08:19

Learn to work with multiple forms on the same page.

Using Form-sets
06:40

Learn to create a view that handles creating or updating objects of any content model.

Adding Content to Course Modules
05:57

Learn to display all modules for a course and list contents for a specific module.

Managing Modules and Contents
05:00

Learn to launch an AJAX to store the new module order.

Reordering Modules and Contents
04:52

Learnt to list all available courses, optionally filtered by subject.

Preview 05:26

Learn to create a new application to add student details.

Adding Student Registration
08:53

Learn to display the courses the students are enrolled in.

Accessing the Course Contents
08:34

The ability to use cache framework in terms of processing than serving a static website

Using the Cache Framework
08:13

The ability to perform the cache template fragments to access the database.

The Process of Caching
10:45

Learn to create an interface for other services to interact with your web application.

Preview 14:40

The ability to identify the user performing the request.

Handling Authentication
11:27
+
Mastering Django Web Development
22 Lectures 59:55

This video will provide an overview of the course.

Preview 02:27

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.

Extending Class-based Views
01:32

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.

Using Mixins
02:09

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.

Custom Class-based Views
01:07

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.

Creating a Switchboard View
02:56

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.

Preview 02:30

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.

Creating a Custom Middleware
02:46

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.

Exception Handling Middleware
01:23

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

Preview 03:19

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.

Creating Custom Template Tags
04:22

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.

Preview 03:40

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.

Complex Queries with Our API
02:12

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.

Authentication and CRUD Support
04:56

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.

Preview 02:09

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.

Formsets for Data Management
03:54

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.

Advanced Queries with Q()
03:15

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.

Preview 03:45

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?

Caching with Middleware
02:27

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.

Using the Template Cache
02:49

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

Preview 02:05

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.

Using a Model Manager to Create New Objects
01:14

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

Creating manage.py Commands
02:58
+
Django Projects: E-Learning Portal
20 Lectures 02:39:24

This video will give an overview of entire course.

Preview 02:25

The aim of this video is to show you how to set up your system for Django development.

Installation and Setup
03:40

The aim of this video is to learn about Django Apps and views.

Preview 07:18

The aim of this video is to learn about the Django templates.

Templates
06:37

The aim of this video is to look at the models and how to store data in SQL database.

Models
06:06

The aim of this video is to see how models, views, and templates work together to create useful application.

Models, Views, and Templates
07:55

The aim of this video is to use Django forms to validate the input from the user.

Forms
11:08

The aim of this video is to discuss about the Django users and admin interface.

Preview 09:02

The aim of this video is to create relationships between different models.

Relationships
10:26

The aim of this video is to extend the knowledge about Django ORM using Querysets and Managers.

Querysets and managers
08:10

The aim of this video is to extend our database models to cover some realistic use cases.

Extending our Models
05:06

The aim of this video is to write some complex views to process the e-learning data.

E-learning Views
13:31

The aim of this video is to implement a functionality for showing the test results.

E-learning views (continued)
06:59

The aim of this video is to extend the templates and make them more pretty.

E-learning Templates
09:23

The aim of this video is to learn about Authentication in Django.

Authentication
09:30

The aim of this video is learn about class based views and how to use them in Django.

Preview 08:53

The aim of this video is to understand about the Django REST Framework package

Django REST framework
05:38

The aim of this videos is to extent the API to allow users to submit data for the tests.

Django REST Framework (continued)
09:51

The aim of this video is to learn how to create a production environment to serve our application to the public.

Preview 04:51

This video will teach you how to prepare your application for deployment on Heroku.

Preparing your application
12:55
About the Instructor
Packt Publishing
3.9 Average rating
8,109 Reviews
58,434 Students
686 Courses
Tech Knowledge in Motion

Packt has been committed to developer learning since 2004. A lot has changed in software since then - but Packt has remained responsive to these changes, continuing to look forward at the trends and tools defining the way we work and live. And how to put them to work.

With an extensive library of content - more than 4000 books and video courses -Packt's mission is to help developers stay relevant in a rapidly changing world. From new web frameworks and programming languages, to cutting edge data analytics, and DevOps, Packt takes software professionals in every field to what's important to them now.

From skills that will help you to develop and future proof your career to immediate solutions to every day tech challenges, Packt is a go-to resource to make you a better, smarter developer.

Packt Udemy courses continue this tradition, bringing you comprehensive yet concise video courses straight from the experts.