You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2.8 KiB

Python (Focus on basics and essentials)

  • Python Basics:

    • Syntax and Semantics
    • Data Types (Strings, Numbers, Lists, Dictionaries, Tuples, Sets)
    • Control Flows (if, for, while)
    • Functions and Scope
    • Basic File I/O
  • Intermediate Python:

    • Object-Oriented Programming (Classes, Objects, Inheritance)
    • Error and Exception Handling
    • Modules and Packages
    • Virtual Environments (venv)
  • Essential Python Libraries:

    • pip for package installation
    • requests for HTTP requests
    • Pandas for data manipulation (useful in many Django backend scenarios)
  • Best Practices:

    • Code Style (PEP 8)
    • Writing Reusable Code
    • Introduction to Testing (unittest)

Django (Understand the core framework)

  • Django Basics:

    • Setting up Django
    • Django Project vs. Django App
    • Models and Databases (ORM)
    • Views and URL Dispatchers
    • Templates and Static Files
    • Django Admin Interface
    • Forms and Form Processing
  • Intermediate Django:

    • Class-Based Views
    • User Authentication
    • Middleware
    • Signals
    • Advanced QuerySet Usage
  • Django Best Practices:

    • Project Structure
    • Security Practices (CSRF, XSS, Clickjacking)
    • Performance Optimizations (Database Indexing, Query Optimization)
    • Logging
  • Testing Django:

    • Unit Tests and Test Cases
    • Test Client

Django REST Framework (DRF) (Learn to build APIs)

  • DRF Basics:

    • Serialization
    • ViewSets and Routers
    • Authentication and Permissions
    • Browsable API
  • Intermediate DRF:

    • Custom Validators
    • Pagination
    • Filtering, Searching, and Ordering
  • Advanced DRF Topics (20% that might be less common but important):

    • Throttling
    • Versioning
    • Caching
  • Integrations:

    • Integrating Django with Front-End Frameworks (e.g., React, Vue.js)

Real-World Application & Practice

  • Version Control:

    • Git Basics (commits, branches, merges, pull requests)
  • Project:

    • Build a simple CRUD application with Django
    • Extend it by adding a REST API with DRF
    • Implement User Authentication
  • Deployment:

    • Basic understanding of servers and hosting (e.g., Heroku, AWS)
    • Static and Media File Management
    • Deployment of Django projects

Continuous Learning

  • Stay Updated:

    • Follow Django and DRF releases
    • Participate in communities (Reddit, Stack Overflow, Django Users mailing list)
  • Expand Knowledge:

    • Asynchronous Django (Django Channels)
    • Django REST Framework 3rd party packages (for things like OAuth, JWT, etc.)