Introduction to Django
Get started with Django web framework. Learn what Django is, why to use it, understand its architecture (MTV), and set up your development environment.
Please enroll in this course to access the modules.
Learning objectives
Understand what Django is and why use it
Learn Django's architecture (MTV - Model-Template-View)
Set up Python, virtual environment, and install Django
Create a Django project using django-admin startproject
Understand project structure (settings, urls, wsgi/asgi, apps)
Run development server and test basic request-response
Django Web Framework
Explore Django as a web framework. Learn about installed apps, project settings, directory structure, Django lifecycle, and manage commands.
Please enroll in this course to access the modules.
Learning objectives
Understand Django as a web framework
Learn about installed apps and project settings
Explore directory structure and Django project/app conventions
Understand Django lifecycle: request → URL routing → view → response/template
Master Django CLI / manage commands
URLs and Views
Master URL routing and views in Django. Learn to configure URLs, connect them to views, and create function-based views that handle requests and return responses.
Please enroll in this course to access the modules.
Learning objectives
Configure urls.py using path() and re_path()
Understand URL patterns and urlpatterns
Connect URLs to views
Create function-based views
Handle request data (GET/POST) and understand request object
Use URL names and reverse URLs
Django Templates
Learn Django Template Language (DTL) to create dynamic web pages. Master template inheritance, variables, tags, filters, and template organization.
Please enroll in this course to access the modules.
Learning objectives
Understand Django Template Language (DTL)
Use variables, tags, and filters in templates
Implement template inheritance with base templates and blocks
Render dynamic data using templates
Organize templates with includes and partial templates
Understand escaping, autoescape, and safe output
Static Files
Learn to manage static files (CSS, JavaScript, images) in Django. Configure static files settings and serve them during development and production.
Please enroll in this course to access the modules.
Learning objectives
Understand what static files are in Django
Configure static files (STATICFILES_DIRS, STATIC_URL, collectstatic)
Reference static files in templates using {% static %} tag
Serve static files during development
Learn basics of deploying static files for production
Django Model
Master Django models to define your database schema. Learn field types, model metadata, and how to create and apply migrations.
Please enroll in this course to access the modules.
Learning objectives
Define models using classes inheriting models.Model
Understand field types and options (CharField, IntegerField, DateTimeField, etc.)
Configure model metadata options (__str__, ordering, verbose names)
Create and apply migrations (makemigrations, migrate)
Understand model vs database table mapping
Django Forms / Model Forms
Create and handle forms in Django. Learn to build Form classes, ModelForm classes, render forms in templates, and process form submissions.
Please enroll in this course to access the modules.
Learning objectives
Understand why use forms in Django
Create Form classes in forms.py
Create ModelForm classes bound to models
Render forms in templates (manual or {{ form.as_... }})
Handle form submission (POST), request data, and save form data to models
Form Validation
Implement form validation in Django. Learn built-in validation, custom validation methods, error handling, and CSRF protection.
Please enroll in this course to access the modules.
Learning objectives
Use built-in validation (required fields, data types, field-level validation)
Implement custom validation (overriding clean_field() and clean())
Display validation errors in templates
Handle invalid form submission gracefully
Understand and implement CSRF protection
Django CRUD Operations
Implement Create, Read, Update, Delete functionality for your models. Build views and templates for listing, detail views, and data manipulation.
Please enroll in this course to access the modules.
Learning objectives
Implement Create, Read, Update, Delete functionality for models
Create views and templates for listing data (Read)
Build detail views for individual records
Create forms for Create and Update operations
Implement Delete functionality with confirmation
Add pagination and simple search/filter if needed
Django ORM (Object Relational Mapper)
Master Django ORM to query your database efficiently. Learn QuerySet methods, relationships, aggregations, and advanced queries.
Please enroll in this course to access the modules.
Learning objectives
Query database using Django ORM: .all(), .filter(), .get(), .exclude(), .order_by()
Understand QuerySet chaining, slicing, and evaluation
Work with relationships: ForeignKey, OneToOneField, ManyToManyField
Query related data across relationships
Use aggregation, annotation, and advanced queries
Manage migrations and schema changes
User Authentication
Implement user authentication in Django. Learn to use built-in authentication system, create registration and login forms, and manage user sessions.
Please enroll in this course to access the modules.
Learning objectives
Use built-in authentication system: User model, login/logout
Create user registration (sign up) and login forms
Handle sessions and user authentication
Understand password hashing and security basics
Implement access control using login_required decorator
Learn permission/authorization basics
CSV
Handle CSV files in Django. Learn to import and export data, parse CSV files, validate data, and handle errors during CSV operations.
Please enroll in this course to access the modules.
Learning objectives
Handle CSV files in Django (import/export)
Export QuerySet data to CSV for download
Import CSV data: file upload, parsing with Python's csv module
Validate CSV data before saving to database
Handle exceptions and errors during CSV import/export
Session Management
Understand and implement session management in Django. Learn to store and retrieve session data, configure session settings, and use sessions for user-specific features.
Please enroll in this course to access the modules.
Learning objectives
Understand sessions in Django: purpose and working
Use request.session to store/retrieve data
Configure session settings and expiry
Understand differences between sessions and cookies
Use sessions for features like "remember me", user-specific data, flash messages
Django Middleware
Learn about Django middleware and how it processes requests and responses. Understand built-in middleware and create custom middleware.
Please enroll in this course to access the modules.
Learning objectives
Understand what middleware is and how Django processes requests/responses
Learn about built-in middleware examples
Configure middleware in settings
Write simple custom middleware
Understand use-cases: logging, security headers, request/response processing
Database
Configure and manage databases in Django. Learn database setup, connection settings, migrations, and database management best practices.
Please enroll in this course to access the modules.
Learning objectives
Set up and configure database in Django settings (SQLite, MySQL, Postgres)
Connect Django models to actual database
Apply migrations and manage DB schema changes
Understand database management basics (backup/restore, migration strategy)
Configure Django database settings: ENGINE, NAME, USER, PASSWORD, HOST, PORT