Synopses & Reviews
Python Web Programming is a practical introduction to building networked systems in the object-oriented framework of the Python language. It shows how to leverage the powerful Python libraries to build systems with less programming effort and easier maintenance. This book is primarily intended for experienced programmers who have used other languages (such as Perl, C or C++). It provides a high-level introduction to the language. Experience in building web-based systems is not required. Two chapters provide a concise introduction to the Python language, and there is extensive material on using the socket network API and the Python database API, as well as the many standard library modules. This practical material is underpinned by chapters which explain the technologies used. The book concludes by presenting a pure-Python web framework that can be used as the basis of the reader's own web applications. All code developed in the book will be available through the New Riders web site, allowing readers to use code from the book in their own projects.
"Python Web Programming" is a practical introduction to building networked systems in the object-oriented framework of the Python language. It shows how to leverage the powerful Python libraries to build systems with less programming effort and easier maintenance. It is an implementation guide to utilizing Python's assets instead of simply teaching the program in isolation.
Python Web Programming
is a practical introduction to building networked systems in the object-oriented framework of the Python language. It shows how to leverage the powerful Python libraries to build systems with less programming effort and easier maintenance. It leaves involved discussion of the Python language by itself to other books and dives right into using Python within web enables applications.
This book is intended for programmers who have experience with other programming languages (such a C or C++) and has some experience with building web-based systems. It is for the serious programmer who does not want a basic introductory to the language.
All code developed in the book will be available on the newriders.com website. This is an incredible asset because the Python language allows for modular programming between systems, thus readers in their projects can use code created in the book.
About the Author
is a consultant, advising on system and network architectures and the design and implementation of programmed web systems for commercial clients. His client base includes GlobalPhone, an international telecommunications company, and the Prometric division of Thomson Learning. He was the technical lead on the major redesign of the National Science Foundation's web site in 1997.
Steve also teaches classes on TCP/IP, UNIX security, web security, intranet technologies, and database topics for Learning Tree International. Steve has spent time on both sides of the "academic divide" and was an early researcher into the integration of text, graphics, and databases while teaching commercial computing topics at Manchester University. This research led Steve to form Desktop Connection Limited, the first UK reseller of Frame Technology's (now Adobe's) FrameMaker software. His customers included British Telecom, British Aerospace, British Gas, and Sun Microsystems.
Steve was born and raised in the UK, and has traveled throughout Europe and the USA on teaching assignments. He now lives with his wife, Dorothy, in Fairfax, Virginia, where when not consulting, teaching, or writing, he enjoys looking for worthwhile American beers, entertaining friends and family, and reading science fiction.
Table of Contents
I. WHY PYTHON, AND HOW? 1. The Python Language.
Where Python Came From. Where Python Is Going. What Use Is Python. 2. An Introduction to Python.
Using the Interpreter. Python Syntax. Python Statements. Defining Functions. Major Built-in Functions and Methods. Modules in Python. Exception Handling. 3. Object-Orientation.
Data in Python. Data Structures in Python. Defining Classes. The class Statement. Jython: A Unique Blend of Two Languages.
II. NETWORK PROGRAMMING IN PYTHON. 4. Client/Server Concepts.
Functions of the Four Internet Protocol Layers. Connectionless Versus Connection- Oriented Networking. The Concept of a Network Socket. Network Programming Concepts. The socket Library. Connectionless Client Structures. Connection-Oriented Client Structures. 5. Available Client Libraries.
File Transfer. Dealing with Mail. nntplib: Receiving Network News. httplib: Writing Web Clients. 6. A Server Framework Library.
Server Structures. SocketServer Libraries. Writing Servers with the SocketServer Module. HTTP Server Modules. 7. Asynchronous Services.
Synchronous Limitations. The asyncore Module. asynchat: Handling Structured Conversations.
III. DATABASE PROGRAMMING IN PYTHON. 8. Relational Database Principles.
What Is a Database? Data Modeling and Database Design. Semantic Integrity: Applying Business Rules. Physical Design Considerations. 9. Client/Server Database Architectures.
The Client/Server Nature of Modern Relational Databases. Stored Procedures. Triggers. 10. The Python Database Interface.
Database Interfaces. The Underlying Interface Model. Some Database Modules. A Simple Database-Driven Web. SQL/Python Communication. 11. Adapting the Python Interface to Database Products.
What Help Are Standards? Available Database Modules. SQL Adaptation Layer Tasks. Adapting Specific DB Modules and Engines. Web Server Interaction with Database Programs. Maintaining Data in Python CGI Scripts. Generalizing Data Maintenance.
IV. XML AND PYTHON. 12. A Bird's-Eye View of XML.
Background. Shortcomings of HTML. XML. DTDs. Physical Structure and Entities. XML Namespaces. Validating Versus Nonvalidating XML Parsing. Summary. 13. XML Processing.
Installing the Software. Creating XML Documents. Validating XML Documents. XML Parsing with Regular Expressions. An Introduction to XML Parsing with expat. XML Processing with SAX and DOM. Other Python XML Packages. 14. SAX: The Simple API for XML.
Introduction to SAX. SAX Utilities.
V. INTEGRATED WEB APPLICATIONS IN PYTHON. 15. Building Small, Efficient Python Web Systems.
Why Build It Yourself? Critical Self-Assessment. The Significance of Style and Simplicity. A Note on Complexity. Planning Interactive Web Systems. Summary. 16. Web Application Frameworks.
Information Sources. Web Server Architectures. HTML (and XML) Generation. Component Interaction: Choose Your Model. 17. AWeFUL: An Object-Oriented Web Site Framework.
Why Another Framework? Framework Requirements. The AWeFUL Framework Structure. The Framework Code. Summary. 18. A Web Application- PythonTeach.com.
The Company Mission. Structure of the Application. Request Handling Logic. Content Generation Logic. The Site Structure.
VI. APPENDIXES. Appendix A. Changes Since Python 2.0.
Introduction to Changes in Python 2.1. Introduction to Changes in Python 2.2. Appendix B. Glossary.