WEB2PY 2nd Ed.

Enterprise Web Framework

Massimo Di Pierro

Publisher: Wiley, 2009, 325 pages

ISBN: 978-0-470-59235-9

Keywords: Python, Web Programming

Last modified: March 24, 2016, 1:25 a.m.

web2py is a free and open source full-stack enterprise for agile development of fast, scalable, secure and portable database-driven web-based applications. web2py is written and programmable in Python.

  1. Introduction
    1. Principles
    2. Web Frameworks
    3. Model-View-Controller
    4. Why web2py
    5. Security
    6. In the box
    7. License
    8. License Commercial Exception
    9. Acknowledgments
    10. About this Book
    11. Elements of Style
  2. The Python Language
    1. About Python
    2. Starting up
    3. help, dir
    4. Types
    5. About Indentation
    6. for…in
    7. while
    8. def…return
    9. if…elif…else
    10. try…except…else…finally
    11. class
    12. Special Attributes, Methods and Operators
    13. File Input/Output
    14. lambda
    15. exec, eval
    16. import
  3. Overview
    1. Startup
    2. Say Hello
    3. Let's Count
    4. Say My Name
    5. Form self-submission
    6. An Image Blog
    7. Adding CRUD
    8. Adding Authentication
    9. A Wiki
    10. More on admin
      • [site]
      • [about]
      • [EDIT]
      • [errors]
      • [mercurial]
    11. More on appadmin
  4. The Core
    1. Command Line Options
    2. URL Mapping
    3. Libraries
    4. Applications
    5. API
    6. request
    7. response
    8. session
    9. cache
    10. URL
    11. HTTP and redirect
    12. T and Internationalization
    13. Cookies
    14. init Application
    15. URL Rewrite
    16. Routes on Error
    17. Cron
    18. Import Other Modules
    19. Execution Environment
    20. Cooperation
  5. The Views
    1. Basic Syntax
      • for…in
      • while
      • if…elif…else
      • try…except…else…finally
      • def…return
    2. HTML Helpers
      • XML
      • Built-in Helpers
      • Custom Helpers
    3. BEAUTIFY
    4. Page Layout
    5. Using the Template System to Generate Emails
    6. Layout Builder
  6. The Database Abstraction Layer
    1. Dependencies
    2. Connection Strings
      • Connection Pooling
    3. DAL, Table, Field
    4. Migrations
      • insert
      • commit and rollback
      • executesql
      • _lastsql
      • drop
      • Indexes
      • Legacy Databases
      • Distributed Transaction
    5. Query, Set, Rows
      • select
      • Serializing Rows in Views
      • orderby, groupby, limitby, distinct
      • Logical Operators
      • count, delete, update
      • Expressions
      • update, record
    6. One to Many Relations
      • Inner Joins
      • Left Outer Join
      • Grouping and Counting
    7. How to see SQL
    8. Exporting and Importing Data
      • CSV (one table at a time)
      • CSV (all tables at once)
      • CSV and remote Database Synchronization
      • HTML/XML (one table at a time)
    9. Many to Many
    10. Other Operators
      • like, upper, lower
      • year, month, day, hour, minutes, seconds
      • belongs
    11. Caching Selects
    12. Shortcuts
    13. Self-Reference and Aliases
    14. Table Inheritance
  7. Forms and Validators
    1. FORM
      • Hidden fields
      • keepvalues
      • onvalidation
      • Forms and redirection
      • Multiple forms per page
      • No self-submission
    2. SQLFORM
      • Insert/Update/Delete SQLFORM
      • SQLFORM in HTML
      • SQLFORM and uploads
      • Storing the original filename
      • Removing the action file
      • Links to referencing records
      • Prepopulating the form
      • SQLFORM without database IO
    3. SQLFORM.factory
    4. Validators
      • Basic Validators
      • Database Validators
      • Custom Validators
      • Validators with Dependencies
    5. Widgets
    6. CRUD
      • Attributes
      • Messages
      • Methods
    7. Custom form
      • CSS Conventions
      • Switch off errors
  8. Access Control
    1. Authentication
      • Email verification
      • Restrictions on registration
      • CAPTCHA and reCAPTCHA
      • Customizing Auth
      • Renaming Auth tables
      • Alternative Login Methods
    2. Authorization
      • Decorators
      • Combining requirements
      • Authorization and CRUD
      • Authroization and Downloads
      • Access control and Basic authentication
      • Settings and Messages
    3. Central Authentication Service
  9. Services
    1. Rendering a dictionary
      • HTML, XML, and JSON
      • How it works
      • Rendering Rows
      • Custom Forms
      • RSS
      • CSV
    2. Remote Procedure Calls
      • XMLRPC
      • JSONRPC
      • AMFRPC
    3. Low Level API and Other Recipes
      • simplejson
      • PyRTF
      • ReportLab and PDF
    4. Services and Authentication
  10. Ajax Recipes
    1. web2py.ajax.html
    2. jQuery Effects
      • Conditional Fields in Forms
      • Confirmation on Delete
    3. The ajax Function
      • Eval target
      • Auto-completion
      • Form Submission
      • Voting and Rating
  11. Deployment Recipes
    1. Setup Apache on Linux
      • Setup mod_wsgi on Linux
    2. mod_wsgi and SSL
    3. Setup mod_proxy on Linux
    4. Start as Linux Daemon
    5. Setup Apache and mod_wsgi on Windows
    6. Start as Windows Service
    7. Setup Lighttpd
    8. Apache2 and mod_python in a shared hosting environment
    9. Setup Cherokee with FastCGI
    10. Setup PostgreSQL
    11. Security Issues
    12. Scalability Issues
      • Sessions in Database
      • Pound, a High Availability Load Balancer
      • Cleanup Sessions
      • Upload Files in Database
      • Collecting Tickets
      • Memcache
      • Sessions in Memcache
      • Removing Applications
    13. Google App Engine
  12. Other Recipes
    1. Upgrading WEB2PY
    2. fetching a URL
    3. Geocoding
    4. Pagination
    5. Streaming Virtual Files
    6. httpserver.log and the log file format
    7. Send an SMS
    8. Twitter API
    9. Jython

Reviews

WEB2PY

Reviewed by Roland Buresund

Disappointing *** (3 out of 10)

Last modified: March 24, 2016, 1:25 a.m.

Overhyped and overpriced. To this, add that some important info is missing from the book, and I can't get myself to recommend this.

The framework itself is fairly OK, but one of the self-hype the author uses is that this book exists as documentation, which make it even worse.

Comments

There are currently no comments

New Comment

required

required (not published)

optional

required

captcha

required