Daniel Roy Greenfeld

Daniel Roy Greenfeld, Audrey Roy Greenfeld

Audience level:
Novice
Saturday
2 p.m.–6 p.m.

Best Practices for Django the Two Scoops Way

Description

This tutorial is chock-full of material that will help advanced beginners and intermediate Djangonauts with their Django projects. We'll introduce students to various tips, tricks, patterns, code snippets, and techniques that we've picked up over the years.

Abstract

This tutorial is chock-full of material that will help advanced beginners and intermediate Djangonauts with their Django projects. We'll introduce students to various tips, tricks, patterns, code snippets, and techniques that we've picked up over the years. This talk is influenced and based on material found in Two Scoops of Django: Best Practices 1.8, and expanded for Django 1.9 and 1.10.

Things we plan to cover:

  • High-Level Concepts: Encapsulation of logic components, don't repeat yourself (DRY), minimum code for maximum effort
  • cookiecutter-django: Kick-start your project with a production-ready setup, or fork it for your own purposes
  • Class-Based Views: How simple they really are, how to leverage inheritance for rapid application development
  • Settings: Keeping secrets out of code with a realistic implementation of 12-Factor app.
  • Security: General HTTP practices, validate all incoming data, staying informed
  • Advanced Django Forms: Sophisticated techniques for validating input into a project
  • App and Model Best Practices: Clean design and loose coupling
  • Templates: Clarity and performance
  • Testing: Request factories, encapsulation of logic, the pytest alternative, and other useful strategies
  • Building REST APIs: Django REST Framework, resources vs. RPC, documentation, SDKs, versioning
  • Django Packages: Standard packages you should be using, evaluation of packages for your project's custom needs. Categories we'll cover include:
  • Debugging
  • Model, form, and view utilities
  • Registration
  • Specific business logic
  • Permissions
  • Digging through Django's utilities: Great for handling the edge cases
  • Documentation: Purpose, audience, what must be documented, ReStructuredText, API docs
  • Channels: Concepts and general practices, real-time woes
  • Asynchronous Task Queues: Because channels are only half the story
  • Lots more!

We are looking for sponsors!

If you can help make PyCon SG a success, please message us at conference@pycon.sg

Co-Organizer:

Platinum Sponsors:

Gold Sponsors:

Silver Sponsors:

PyCon SG is a joint effort of the local Python communities: