Python 3 Web Development Beginner's Guide Use Python to create, theme, and deploy unique web applications Michel Anders BIRMINGHAM - MUMBAI Python 3 Web Development Beginner's Guide Copyright © 2011 Packt Publishing All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews. Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, nor Packt Publishing, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book. Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information. First published: May 2011 Production Reference: 1060511 Published by Packt Publishing Ltd. 32 Lincoln Road Olton Birmingham, B27 6PA, UK. ISBN 978-1-849513-74-6 www.packtpub.com Cover Image by Rakesh Shejwal ([email protected]) Credits Author Project Coordinators Michel Anders Poorvi Nair Michelle Quadros Reviewers Michael Driscoll Proofreader Róman Joost Mario Cecere Tomi Juhola Indexer Andrew Nicholson Tejal Daruwale Herjend Teny Graphics Acquisition Editor Nilesh Mohite Sarah Cullington Production Coordinator Development Editor Kruthika Bangera Neha Mallik Cover Work Technical Editors Kruthika Bangera Sakina Kaydawala Gauri Iyer Copy Editor Leonard D'Silva About the Author Michel Anders, after his chemistry and physics studies where he spent more time on computer simulations than on real world experiments, the author found his real interests lay with IT and Internet technology, and worked as an IT manager for several different companies, including an Internet provider, a hospital, and a software development company. After his initial exposure to Python as the built-in scripting language of Blender, the popular 3D modeling and rendering suite, the language became his tool of choice for many projects. He lives happily in a small converted farm, with his partner, three cats, and twelve goats. This tranquil environment proved to be ideally suited to writing his first book, Blender 2.49 Scripting (Packt Publishing, 978-1-849510-40-0). He loves to help people with Blender and Python-related questions and may be contacted as 'varkenvarken' at http://www.blenderartists.org/ and maintains a blog on Python- specific subjects at http://michelanders.blogspot.com/. For Clementine, always. About the Reviewers Michael Driscoll has been programming Python since the Spring of 2006 and has dabbled in other languages since the late nineties. He graduated from the University with a Bachelors of Science degree, majoring in Management Information Systems. Michael enjoys programming for fun and profit. His hobbies include Biblical apologetics, blogging about Python at http://www.blog.pythonlibrary.org/, and learning photography. Michael currently works for the local government, where he does programming with Python as much as possible. Michael was also a Technical Reviewer for Python 3: Object Oriented Programming by Dusty Phillips and Python Graphics Cookbook by Mike Ohlson de Fine (both by Packt Publishing). I would like to thank my friends and family for their support and the fun times they share with me. Most of all, I want to thank Jesus for saving me from myself. Róman Joost discovered open source software in 1997. He is the project manager for user documentation for GNU Image Manipulation Program (GIMP). Róman also helped with German internationalization of GIMP. He has been contributing to GIMP and Zope open source projects for eight years. Róman has a Diplom-Informatiker (FH) from the University of Applied Sciences in Koethen (Anhalt). He has worked for Zope companies—Gocept GmbH & Co in Germany, Infrae in The Netherlands, and is currently working for a Zope company in Brisbane, Australia. For relaxation, he enjoys photography and digital painting with GIMP. Tomi Juhola is a software development professional from Finland. He has a wide range of development experience from embedded systems to modern distributed enterprise systems in various roles such as tester, developer, consultant, and trainer. Currently, he works in a financial company and shares this time between development lead duties and helping other projects to adopt Scrum and Agile methodologies. He likes to spend his free time with new interesting development languages and frameworks. He has reviewed conference proposals, a Python development book, and has also published his own Master's theses on Agile embedded development. Andrew Nicholson is a computer engineer with over fourteen years of professional experience in a broad range of computing technologies. He is currently a Technical Director with Infinite Recursion Pty Ltd.—a bespoke software engineering company located in Sydney, Australia. He is a passionate advocate and a participant in the free, libre, and open source software (FLOSS) community and has actively participated since 1999 contributing code, ideas, and energy in this engineering community. He was a Technical Reviewer for the book Python Testing: Beginner's Guide (2010), Packt Publishing. Nicholson has a B.Eng (Computer) [Honours 1] from Newcastle University, Australia and a M.Eng (Wireless) with Merit from Sydney University, Australia. Nicholson's biography can be read at http://www.infiniterecursion.com.au/ people/. www.PacktPub.com Support files, eBooks, discount offers, and more You might want to visit www.PacktPub.com for support files and downloads related to your book. Did you know that Packt offers eBook versions of every book published, with PDF and ePub files available? You can upgrade to the eBook version at www.PacktPub.com and as a print book customer, you are entitled to a discount on the eBook copy. Get in touch with us at [email protected] for more details. At www.PacktPub.com, you can also read a collection of free technical articles, sign up for a range of free newsletters, and receive exclusive discounts and offers on Packt books and eBooks. http://PacktLib.PacktPub.com Do you need instant solutions to your IT questions? PacktLib is Packt's online digital book library. Here, you can access, read and search across Packt's entire library of books. Why Subscribe? Fully searchable across every book published by Packt Copy and paste, print and bookmark content On demand and accessible via web browser Free Access for Packt account holders If you have an account with Packt at www.PacktPub.com, you can use this to access PacktLib today and view nine entirely free books. Simply use your login credentials for immediate access. Table of Contents Preface 1 Chapter 1: Choosing Your Tools 7 Identifying the components of a web application 7 Time for action – getting an overview of a web application 8 Choosing suitable tools 10 Time for action – choosing a delivery framework, also known as web server 11 Time for action – choosing a server-side scripting language 12 Time for action – choosing a database engine 14 Time for action – deciding on object relational mappers 15 Time for action – choosing a presentation framework 17 Designing for maintainability and usability 18 Testing 18 Time for action – choosing a test framework 19 Version management 19 Usability 20 Good looking – adhering to common GUI paradigms 20 Themable 21 Cross-browser compatible 21 Cross-platform compatible 22 Maintainability 22 Standards compliant 22 Security 23 Reliable 23 Robust 23 Access control and authentication 24 Confidentiality 24 Integrity 25 A final word on security 25 Help, I am confused! 25 Time for action – maintaining overview 26 Summary 28
Description: