Useful Links
Computer Science
Web Development
Django Framework
1. Introduction to Django
2. Getting Started
3. Models: The Data Layer
4. Views: The Logic Layer
5. Templates: The Presentation Layer
6. URL Routing
7. Forms
8. The Django Admin
9. Static and Media Files
10. Authentication and Authorization
11. Testing
12. Security
13. Advanced Topics
14. Deployment
15. Extending Django
Advanced Topics
Middleware
How Middleware Works
Request Processing
Response Processing
Exception Handling
Built-in Middleware Classes
`SecurityMiddleware`
`SessionMiddleware`
`CommonMiddleware`
`CsrfViewMiddleware`
`AuthenticationMiddleware`
`MessageMiddleware`
`XFrameOptionsMiddleware`
Writing Custom Middleware
Middleware Classes
Middleware Functions
Middleware Methods
Middleware Order and Configuration
Middleware Stack
Order Dependencies
Signals
Built-in Signals
Model Signals
`pre_save`
`post_save`
`pre_delete`
`post_delete`
`m2m_changed`
Request/Response Signals
`request_started`
`request_finished`
`got_request_exception`
Database Signals
`connection_created`
Defining and Sending Custom Signals
Creating Signal Objects
Sending Signals
Connecting Receivers to Signals
Using `connect()`
Using Decorators
Receiver Functions
Disconnecting Receivers
Signal Dispatch
Weak References
Caching
Setting Up Caching
Cache Settings in `settings.py`
Choosing a Cache Backend
Cache Backends
Dummy Cache
Local Memory Cache
File-Based Cache
Database Cache
Memcached
Redis
Cache Levels
Per-Site Caching
Per-View Caching
Template Fragment Caching
Low-Level Cache API
Cache Keys
Key Generation
Key Versioning
Key Prefixes
Cache Invalidation
Manual Invalidation
Time-Based Expiration
Conditional Invalidation
Cache Strategies
Cache-Aside
Write-Through
Write-Behind
Custom Management Commands
Creating a Management Command
Command Structure
Command Location
Command Options and Arguments
Positional Arguments
Optional Arguments
Argument Types
Command Base Classes
`BaseCommand`
`AppCommand`
`LabelCommand`
Registering and Running Commands
Command Output
Command Testing
Database Optimization
Query Optimization
`select_related()`
`prefetch_related()`
Database Indexes
Database Transactions
Atomic Transactions
Transaction Management
Savepoints
Database Connections
Connection Pooling
Multiple Databases
Database Routing
Internationalization and Localization
Enabling Internationalization
`USE_I18N` Setting
`USE_L10N` Setting
`USE_TZ` Setting
Marking Strings for Translation
`gettext()` and `_()` Functions
`ngettext()` for Pluralization
`gettext_lazy()` for Lazy Translation
Using Locale Middleware
Language Detection
Language Selection
Translating Templates
`{% trans %}` Tag
`{% blocktrans %}` Tag
Template Context Variables
Managing Translation Files
Creating Message Files
Compiling Messages
Translation Workflow
Formatting
Date and Time Formatting
Number Formatting
Locale-Specific Formatting
Time Zones
Time Zone Support
Time Zone Conversion
User Time Zones
Previous
12. Security
Go to top
Next
14. Deployment