Django Syllabus
1. Introduction to Django
What is Django?
History of Django
Django vs other frameworks (Flask, PHP)
MVT (Model-View-Template) Architecture
Installing Django and setting up a virtual environment
2. Django Project Structure
Creating a Django project
Understanding project directory structure
[Link], [Link], [Link], [Link], [Link]
3. Django Apps
Creating and adding apps to the project
App structure and purpose
INSTALLED_APPS setting
4. URL Routing
URL dispatcher
[Link] usage
Including app-specific URLs
Path converters and named URLs
5. Views in Django
Function-based views (FBV)
Class-based views (CBV)
Returning HTML, JSON, and HTTP responses
Django Syllabus
6. Templates in Django
Template engines
Creating and using templates
Template inheritance
Template filters and tags
Static files and media files
7. Models and ORM
Defining models
Field types and options
Making migrations and applying them
Django shell for testing models
Model relationships: OneToOne, ManyToOne (ForeignKey), ManyToMany
QuerySets and model queries (CRUD)
8. Admin Interface
Using the Django admin
Customizing admin views
Registering models
Filters, search, and custom displays
9. Forms and User Input
Django Forms vs ModelForms
Creating and validating forms
Form rendering in templates
Form handling with GET and POST
CSRF protection
10. Authentication and Authorization
Django Syllabus
User model
User registration, login, logout
Password hashing and management
Permissions and groups
Custom user model
11. Middleware
Built-in middleware
Creating custom middleware
Understanding request/response lifecycle
12. Django Messages Framework
Flash messages
Displaying messages in templates
13. File Uploads and Media Handling
Handling file and image uploads
MEDIA_ROOT and MEDIA_URL
Using FileField and ImageField
14. Advanced Model Features
Model managers
Signals
Meta options
Custom model methods
15. REST API with Django REST Framework
Introduction to DRF
Django Syllabus
Serializers
API views and routers
ViewSets
Authentication for APIs
16. Testing in Django
Writing unit tests
Django testing tools
Test database
17. Deployment
Preparing for deployment
Using Gunicorn, Nginx, and Docker
Deploying on platforms like Heroku, Render, or DigitalOcean
18. Building Projects (Practice Section)
Blog website
TODO app
E-commerce site
Authentication system
REST API for mobile/backend use