This edition is dedicated to Champion Suyaki Mamma Mia of Misibo and her sister Champion Sienna of Olympia of Misibo, two of the best Siamese cats who ever owned me.
J. Burton Browning
When I wrote my first book, Pro Django , I didn’t have much of an idea what my readers would find interesting. I had gained a lot of information I thought would be useful for others to learn, but I didn’t really know what would be the most valuable thing they’d take away. As it turned out, in nearly 300 pages, the most popular chapter in the book barely mentioned Django at all. It was about Python.
The response was overwhelming. There was clearly a desire to learn more about how to go from a simple Python application to a detailed framework like Django. It’s all Python code, but it can be hard to understand based on even a reasonably thorough understanding of the language. The tools and techniques involved require some extra knowledge that you might not run into in general use.
Marty Alchin
The goal is to bring intermediate programmers to a more advanced level; we wrote this book with the expectation that you’ll already be familiar with Python on some basic level. You should be comfortable using the interactive interpreter, writing control structures, and [using] a basic object-oriented approach.
That’s not a very difficult prerequisite. If you’ve tried your hand at writing a Python application—even if you haven’t released it into the wild, or even finished it—you likely have all the necessary knowledge to get started. The rest of the information you’ll need is contained in these pages.
J. Burton Browning
I wouldn’t have even started this project if not for the endless encouragement from my lovely wife, Angel. She’s been my sounding board, my task manager, my copyeditor, and my own personal cheerleader. There’s no way I could do anything like this without her help and support.
I’d also like to thank my technical reviewer, George, for everything he’s done to help me out. He’s gone above and beyond the limits of his role, helping with everything from code to grammar and even a good bit of style. After enjoying his help on Pro Django , I wouldn’t have even signed on for another book without him by my side.
Lastly, I never would’ve considered a book like this if not for the wonderful community around Python. The willingness of Python programmers to open their minds and their code is, I believe, unrivaled among our peers. It’s this spirit of openness that encourages me every day, leading me to discover new things and push myself beyond the limits of what I knew yesterday.
Marty Alchin
earned his doctorate from North Carolina State University. He has conducted research in areas including distance learning, programming, and instructional technology. As a lifelong learner and someone who has interests in topics such as programming, photography, robotics, car restoration, woodworking, hunting, reading, fishing, and archery, he is never at a loss for something to do. The art and joy of serving as a professor suits his inquisitive nature. Dr. Browning’s previous publications include works on Cross-Functional Learning Teams (CFLT), the Utopian School (teacher-led school model), computer programming (several languages), open-source software, healthcare statistics and data mining, CNC plasma cutter operation, educational technology, biography, mobile learning, online teaching, and more.
By day, Marty Alchin works as a senior software engineer at Heroku, and after that, he writes and codes for fun and community. His blog can be found at http://martyalchin.com and he has profiles on many other services under the name Gulopine. In particular, his code can be found on GitHub and his random thoughts are on Twitter. He also accepts tips for his open source work at https://gittip.com/gulopine .
has worked in software development for over 20 years as an individual contributor, team lead, program manager, and vice president of engineering. Michael has over 10 years of experience working with mobile devices. His current focus is in the medical sector, using mobile devices to accelerate information transfer between patients and healthcare providers.