Plan for the week
- Monday: Models in detail. Field types, many-to-many relationships,
QuerySets, Q objects, updating and deleting, aggregation, custom managers,
PostgreSQL. django-extensions library.
- Tuesday: Templates in detail. HTML, CSS, static files, tags, filters,
inheritance, blocks, humanization, Bootstrap.
- Wednesday: Views in detail. Core exceptions, the request object, class-
based views vs function-based views, generic views, HTTP status codes, cookies.
- Thursday: Forms in detail. Model forms, non-model forms, HTML 5 field
types, formsets, custom form builders, custom validation, uploading files.
Learning objectives
- Expand upon current knowledge to build new Django applications and features
- Determine which model field types to use to represent data
- Understand the difference between 1:1, 1:n, and n:n relationships
- Distinguish when to use each relationship type in modeling data
- Translate English descriptions of data queries into Django ORM queries
- Use PostgreSQL to store Django data
- Build new methods on query managers
- Use django-extensions to make development easier
- Extrapolate on the example of django-extensions to use other Django plugins
- Build structured documents using HTML
- Make use of Bootstrap and hand-written CSS to style your application
- Organize templates for reuse
- Show the functions of the request object in Views
- Use exceptions to handle common web response
- Explain the difference between function-based views and class-based views
- Select generic views from Django to speed development
- Use cookies to maintain state
- Summarize what standard HTTP status codes mean
- Select the right HTTP status code for a response
- Build robust forms for receiving and validating data
- Expand on the built-in validation to make custom data validations