Advanced Django Training

Instructor-led Training

Course Description

This Advanced Django course builds upon the foundation established in the Introduction to Django course, delving deeper into the powerful web framework. Students will learn advanced concepts such as handling messages, working with media files, making complex queries, implementing pagination and ordering, advanced querying and search, deploying websites to production, and customizing Django Admin. The course also includes hands-on exercises and real-world examples, allowing students to apply their knowledge and refine their skills in Django development.

About this Course

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

3 Days

  1. Experience with Python.
  2. Experience with Django as covered in the Introduction to Django course.
  • JavaScript
  • SQL
 
  • Advanced Concepts: The course covers advanced Django topics like messages framework, media files handling, complex queries, pagination, ordering, advanced search, and customizing Django Admin.
  • Hands-on Exercises: Practical exercises and real-world examples throughout the course allow students to apply their knowledge and gain confidence in advanced Django development.
  • Ajax and View Functions: Students will learn how to work with Ajax to create dynamic web applications and improve user experience.
  • Deployment Strategies: The course teaches students how to deploy their Django websites to production, using platforms like Heroku.
  • Customizing Django Admin: Students will learn how to customize the Django Admin interface to better manage their web applications.
  • Real-world Applicability: The advanced techniques and concepts taught in this course can be directly applied to real-world Django projects, preparing students for professional web development.

Need to Train a Team?

Contact us to schedule a dedicated class for your team.