This document provides an introduction to the book "Two Scoops of Django" by Michelle Leu. It discusses the authors' backgrounds working on Python and Django projects. It provides recommendations for coding style when working with Django, including following PEP8 standards, using explicit relative imports, and avoiding wildcard imports. It also recommends using underscores instead of dashes in URLs and template block names for compatibility. The document concludes by thanking the reader and providing contact details for the author.
2. About the Authors
DjangoPackages.com
the OpenComparison framework. We ran the largest sprint
at PyCon 2011.
PyLadies
a women‟s outreach/mentorship group. Nurturing the group was
basically a 2nd fulltime job for us in 2011.
The first ever PyCon Philippines, a 300-person conference
about the Python programming language held in the Philippines.
LA Open Source Hackathon event series, which brings together
open-source developers from different programming backgrounds.
Audrey Roy
Daniel Greenfeld
3. Before You Start
Buy the e-book bundle for $17
Buy the print version for $29.95
If you are new to Django ……
Python programming language
Python 2.7.x
Buy the e-book bundle for $17
Django tutorial:
https://docs.djangoproject.com/en
/1.5/intro/tutorial01/.
Django 1.5
4. Core Concepts
•
•
•
•
Simplicity is the ultimate sophistication.
Fat Models, Helper Modules, Thin Views, Stupid Templates
Start With Django by Default
Stand on the Shoulders of Giants
5. Make Your Code Readable
•
•
•
•
Avoid abbreviating variable names.
Write out your function argument names.
Document your classes and methods.
Refactor repeated lines of code into reusable functions or
methods.
6. PEP8
•
Style Guide for Python Code
“Use 4 spaces per indentation level.”
“Separate top-level function and class definitions with two
blank lines.”
“Method definitions inside a class are separated by a single
blank line.”
7. The Word on Imports
Marketing
Standard library
Training
Core Django
Assesment
Third-party apps
Technology
Your apps
Ex: math
Import from django
Plugins
Imports from the apps
that you created as
part of your Django
project.
10. Avoid Using Import *
•
•
The reason for this is to avoid implicitly loading all of another
Python module‟s locals into and over our current module‟s
namespace, which can produce unpredictable and sometimes
catastrophic results.
Python Naming Collisions
11. Django Coding Style Guidelines
•
•
Use underscores (the „_‟ character) in URL pattern names
rather than dashes as this is friendlier to more IDEs and text
editors. Note that we are referring to the name argument of
url() here, not the actual URL typed into the browser. Dashes
in actual URLs are fine.
For the same reason, use underscores rather than dashes in
template block names.
12. Reference
• Two Scoops of Django:https://django.2scoops.org/
• PEP 8 coding conventions:
http://www.python.org/dev/peps/pep-0008/
•
Django Coding Style
Guidelines:https://docs.djangoproject.com/en/1.5/internals/con
tributing/writing-code/coding-style/
Conclusion
Projects with varying styles are much harder to maintain, slowing development and increasing the
chances of developer mistakes.
13. Thanks for your listening
Michelle Leu
flywindy2002@gmail.com
Twitter: @flywindy
Developer @ Brand Karma