Introduction to Django (DJG101)
Learn to build database-driven Django web applications using models, templates, forms, PostgreSQL, authentication, admin tools, and class-based views.
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
Learn to build structured, database-driven web applications with Python and Django. This practical course covers project and app setup, templates, models, migrations, class-based views, forms, PostgreSQL, Django Admin, static files, URLs, slugs, and transactional email.
Through guided exercises, you will use Git and GitHub, create related data models and CRUD workflows, customize forms, and implement registration, authentication, user-linked content, and access controls with django-allauth.
Course Benefits
- Set up a Python virtual environment and create Django projects and applications.
- Build reusable, template-driven pages with context data, filters, tags, and static files.
- Use Git, GitHub, and VS Code in a version-controlled Django development workflow.
- Design Django models, run migrations, configure PostgreSQL, and manage data with Django Admin.
- Create list, detail, create, update, and delete workflows with class-based views and HTTP requests.
- Build and validate forms, customize fields and widgets, and format forms with Crispy Forms.
- Connect application data using ModelForms and many-to-one and many-to-many relationships.
- Implement user registration, authentication, user-linked content, and access restrictions with django-allauth and mixins.
Delivery Methods
Live expert-led online training from anywhere. Guaranteed to run .
Delivered for your team at your site or online.
Course Outline
- Setting Up Your Computer
- Course exercise files
- Recommended software
- Running Python
- Getting Started with Django
- Server-side web development
- Inspecting requests with Chrome DevTools
- Creating a virtual environment and installing Django
- Exploring Django source code
- Creating a Django project
- Project settings and Django apps
- Creating a first Django app
- Working with templates
- Building an About Us page
- Git, GitHub, and a Model-Driven App
- The Django Jokes application
- Version control with Git and GitHub
- Setting up VS Code, Git, and GitHub
- Creating the project and its apps
- Defining models and running migrations
- Understanding Django view types
- Creating list and detail views
- Processing GET and POST requests
- Creating, updating, and deleting objects
- Template Filters and Tags
- Setting up the project
- Adding template context with get_context_data()
- Using built-in template filters
- Using built-in template tags
- Creating custom filters
- Creating custom tags
- Static Files
- Static file fundamentals
- Adding static files to the Django Jokes app
- Reviewing static file settings
- Django Admin and the User Model
- Database fundamentals
- Setting up PostgreSQL
- The default Django user model
- Creating and referencing a custom user model
- Getting started with Django Admin
- Managing application data in Django Admin
- Installing the Django Admin documentation generator
- URLs and Slugs
- Understanding slugs
- Creating a slug-generation function
- Using slugs in application URLs
- Sending Email with SendGrid
- Transactional email services
- Setting up a SendGrid account
- Creating an email utility function
- Forms and Widgets
- Processing forms
- Understanding form fields and core field arguments
- Creating a job application form
- Working with typed choice fields
- Customizing widgets
- Validating form data
- Formatting forms with Crispy Forms
- Applying Crispy Forms to the joke form
- ModelForms and Model Relationships
- Reviewing models, model fields, and field arguments
- Creating a ModelForm
- Implementing many-to-one relationships with categories
- Implementing many-to-many relationships with tags
- Updating templates for related data
- Connecting job applications to models
- User Registration and Authentication
- Understanding the user-registration process
- Getting started with django-allauth
- Customizing authentication pages and templates
- Creating email templates
- Implementing custom user registration
- Creating a My Account page
- Associating users with application content
- Using mixins
- Restricting content creation and updates
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:
- Working knowledge of Python.
Experience in the following would be useful for this Django class:
- Familiarity with HTML and CSS.
- Familiarity with Bootstrap.
Prerequisite Courses
Courses that can help you meet these prerequisites:
Follow-on Courses
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.