Web Development Private

Advanced Django Training (DJG201)

3 days

Advance your Django skills with our in-depth course. Learn to optimize performance, enhance security, and build complex web applications.

Register or Request Training

  • Private class for your team
  • Live expert instructor
  • Online or on‑location
  • Customizable agenda
  • Proposal responses same day as request

Course Overview

Advanced Django Training is designed for developers who already understand Django fundamentals and want to build more capable, production-ready web applications. Through extensive hands-on exercises, learners work with Django’s messages framework, media uploads, private files, image fields, Amazon S3, advanced QuerySets, model relationships, Ajax-powered interactions, pagination, ordering, search, aggregation, and model constraints.

Participants will also explore techniques for improving application performance and administration, including the Django Debug Toolbar, SQL inspection, query optimization, and extensive Django Admin customization. By the end of the course, learners will be able to implement richer user experiences, build sophisticated database queries and search features, manage media and permissions, customize administrative workflows, and prepare a Django application for production deployment.

Course Benefits

  • Implement user feedback with Django’s messages framework and SuccessMessageMixin.
  • Configure media uploads, validate file types, protect private files, display uploaded images, and work with Amazon S3 storage.
  • Create, update, filter, slice, and analyze data using Django managers, QuerySets, and model relationships.
  • Build interactive application features with Ajax, JavaScript, Django view functions, URL configuration, and model constraints.
  • Apply pagination, ordering, and fixtures to manage and present larger datasets effectively.
  • Develop advanced filtering and search features with field lookups, Q objects, aggregation, and annotation concepts.
  • Analyze and optimize database activity using the Django Debug Toolbar and SQL generated by QuerySets.
  • Deploy a Django website to a production hosting environment using Heroku.
  • Customize Django Admin list views, forms, fieldsets, calculated fields, groups, and permissions to support efficient administrative workflows.

Delivery Methods

Private Class
Delivered for your team at your site or online.

Course Outline

  1. Messages Framework
    1. Message Framework
    2. Exercise: Adding Messages
    3. Exercise: Using SuccessMessageMixin
    4. Exercise: Adding Success Messages to the Joke Views
    5. Exercise: Adding a Success Message to JokeDeleteView
  2. Media Files
    1. Media File Basics
    2. Exercise: Adding Media Settings
    3. Exercise: Uploading a Resume
    4. Exercise: Checking File Type
    5. Exercise: Keeping Resume Files Private
    6. Exercise: Adding an ImageField to the Model
    7. Exercise: Displaying the Avatar
    8. Amazon Simple Storage Service (Amazon S3)
    9. Exercise: Setting Up Amazon S3
    10. Exercise: Static Settings in Development
  3. Making Queries, Ajax, and View Functions
    1. Useful Prerequisites
    2. Managers and QuerySets
    3. Indexing and Slicing QuerySets
    4. Checking for Existence
    5. Creating, Updating, and Saving Model Instances
    6. QuerySet Methods that Don't Return QuerySets
    7. One-to-Many Relationships
    8. Many-to-Many Relationships
    9. Spanning Relationships
    10. Joke Voting
    11. Exercise: Adding a JokeVote Model
    12. Exercise: Registering the JokeVote Model
    13. Exercise: Adding Properties to the Joke Model
    14. Exercise: Rating Jokes Using Ajax
    15. Exercise: Adding a vote() View Function
    16. Exercise: Updating the URLConf
    17. Exercise: Updating the Templates
    18. Model Constraints
    19. Letting JavaScript Know if the User is Logged In
  4. Pagination and Ordering
    1. Fixtures
    2. Exercise: Loading Data from a Fixture
    3. Exercise: Pagination
    4. Exercise: Ordering
  5. Advanced Querying and Search
    1. Field Lookups
    2. Q Objects
    3. Exercise: Filtering Results by Category, Tag, or Creator
    4. Exercise: Implementing Search
    5. Aggregation
    6. Exercise: Getting Joke Ratings
    7. Code Optimization
    8. Exercise: Installing and Using the Django Debug Toolbar
    9. Brief Introduction to Annotation
    10. Viewing SQL Used in QuerySets
  6. Deploying your Website to Production
    1. Where to Host Your Django Site
    2. Exercise: Deploying to Heroku
  7. Customizing Django Admin
    1. Django Admin Views
    2. Exercise: Customizing Titles and Headers
    3. ModelAdmin Attributes that Affect the List View
    4. Exercise: Creating a Custom ModelAdmin Base Class
    5. Exercise: Customizing the Django Admin List View
    6. Lists vs. Tuples
    7. ModelAdmin Attributes that Affect Forms
    8. Exercise: Customizing Django Admin Form Views
    9. Customizing Fieldsets
    10. Exercise: Modifying the CustomUserAdmin Class
    11. Adding Calculated Read-only Fields
    12. Exercise: Adding a Link to the Change Password Form
    13. Exercise: Unregistering Models
    14. Exercise: Django Admin Groups and Permissions
  8. Additional Topics
    1. Additional Learning
    2. Additional Projects

Class Materials

Each student receives a comprehensive set of materials, including course notes and all class examples.

Class Prerequisites

Experience in the following is required for this Django class:

  • Python
  • Basic Django as taught in our Introduction to Django course

Experience in the following would be useful for this Django class:

  • JavaScript
  • SQL

Prerequisite Courses

Courses that can help you meet these prerequisites:

Have questions about this course?

We can help with curriculum details, delivery options, pricing, or anything else. Reach out and we’ll point you in the right direction.