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.
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. Index.