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.
100 lines
2.8 KiB
Markdown
100 lines
2.8 KiB
Markdown
### 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.)
|
|
|