Course outline for Basic Django
TechnologyBasic DjangoLevelPrerequisites listed
Basic Django Course Objectives
This training is targeted at people who are in the process of building and deploying web applications in Django. The training sessions will look at how Django applications can be built from the ground-up and some philosophies that the framework is based on.
Pre-requisites
- Good knowledge of Python especially OOP in Python
- Knowledge of the Linux environment
How we train
Online training for Basic Django
- Instructor-led live cohorts
- Self-paced learning with expert coaches
- 24x7 cloud labs with end-to-end examples
All sessions are 100% hands-on. Labs and activities are derived from real-world work our engineers deliver.
Classroom training
Available for corporate teams in:
- Bengaluru
- Chennai
- Hyderabad
- Mumbai
- Delhi/Gurgaon/NCR
- Pune
Note: Classroom training is for corporate clients only.
Self-paced hands-on sessions are delivered via VirtualCoach.
Detailed Course Outline
Hands-onIntroduction to Web Application Programming (Concept)
- Static v/s Dynamic applications
- Client/server computing
- TCP/IP protocol
- Application layer protocol — HTTP
- HTTP Request and Response
- Asynchronous requests with XMLHttp
- 3 tier architectures
- Client side applications and frameworks — HTML/JS/CSS
- Server side languages and frameworks
- Overview of Model/View/Controller (MVC )
- Tooling
- Using tooling to inspect page content (HTML/JS/CSS)
- Using tooling to inspect request and response headers
- Using tooling to inspect traffic flow
- Analysis of a few popular client/server applications
- Examples of MVC frameworks
Introduction to Django
- Why Django?
- Use of MVC in Django
Installing Django
- Installing Python
- Installing a database
- Installing Django
- Verifying the setup
- Overview of development v/s production setup
Projects
- Creating a project
- Understanding the Django project structure
Working with Models and Databases (Concept)
- Datastore design considerations
- Relational v/s NoSQL stores
- Understanding database abstraction layers (DAL)
- Entities, Relationships
- Tables, Fields, Keys, Indexes
- Object Relational Mapping (ORM) and ORM issues
Django Model Basics
- Creating models
- Fields, Field types and Field Options
- Handling relationships - OneToOne, OneToMany, ManyToOne
- Object CRUD
- Creating objects
- Retrieving objects
- Filters when retrieving objects
- Comparing objects
- Updating objects
- Deleting objects
Admin site
- Activating the admin site
- Starting the development server
- Entering the admin site
- Customizing the admin form
- Adding related objects
Working with Controllers, Views and Templates (Concept)
- Data formats
- XML and JSON
- MVC v/s MVP v/s MTV
- Thin clients v/s Thick clients
- Serializing and Deserializing of objects
- Conversion between Python objects and JavaScript objects
- Need for templates
- Anti-patterns in MVC design
URLs and Views
- URL Dispatcher
- Writing views
- View Decorators
- File Uploads
Error pages
- Raising 404
- Writing a 404 (page not found) view
- Writing a 500 (server error) view
Forms
- Writing a simple form
- Widget
- Field
- Form
- Form Media
Template System
- Using the template system
- Templates
- Variables
- Filters
- Tags
- Comments
- Template inheritance
- HTML escaping
- Custom tag and filter libraries
Advanced Model Handling
- Model Inheritance
- Aggregation
- Joins and Aggregates
- filter() and exclude()
- order_by()
- values()
- Managers
- Working with NoSQL stores
- Performing raw SQL queries
- Transactions
- Working with multiple databases
Middleware
- Session handling
- Enabling sessions
- Configuring session engine
- Using sessions in views
Request and Response Objects
- HttpRequest object
- UploadedFile object
- QueryDict object
- HttpResponse object