Product Description
Python is a very popular language for web application development. It's easy to learn and powerful enough to program any kind of system. There are many options for Python web development frameworks, from lightweight packages to everything-and-the-kitchen sink solutions. However, Grok offers a solid foundation for developing powerful, extensible, and secure web applications without too much complexity. This is because it is based on a very advanced object-oriented web framework: Zope 3. Grok enables web developers to tap into the power of Zope 3, thus giving a range of useful features for our applications with very little code.
This book offers Python developers a comprehensive understanding of Grok and a look at its main features by way of developing and evolving a sample application from concept to deployment. You will learn how to use Grok to create web applications and how Grok offers you an agile and enjoyable development experience.
This book will introduce you to the Grok web development framework and show you how to create an application from start to finish. You will learn how to create an application using mostly page templates and then add features to it while reworking the code as it grows. You will learn how to use models to describe your application's domain and how to connect those models to views for presenting information to your users. You will also learn how to automatically generate forms from the models and how to store the data and make it searchable. Due to the public nature of the Web, security is an important part of any web application and you will learn how Grok's integrated security can be used to protect your application and grant access to specific users and roles when needed. Grok offers a powerful object database for storage, but can also interact nicely with any database directly or using an object-relational mapper. You will learn how to do both and when it's advisable to use each. You will also learn how to extend a third-party Grok application, how to debug it, and how to deploy it. By the end of the book, you will be able to design and develop a complete web application using Grok.
What you will learn from this book
* Basic concepts of the Zope Component Architecture
* Use Zope Page Templates to produce HTML pages
* Design efficient applications using models and views
* Use Grok's automatic form generation mechanisms
* Add selectable themes or skins to your applications
* Index content from the models you defined and learn how to search this content by querying the catalog, including full text search
* Understand how the Zope Object Database works and how simple and useful it is
* Easily connect to other relational databases using SQLAlchemy
* Create extensions to your applications
* Understand the various options to deploy your Grok application, and use buildout-a Python-based build system for deploying applications-to create a repeatable deployment
Approach
The book takes a practical approach and dives into code right from the start. After learning how to install Grok, we create a simple application. We work on this application throughout the book, until its deployment in the last chapter.
In each chapter, some new features of Grok will be introduced and explained, then the application will be extended to use them, explaining step-by-step how each feature works.
Who this book is written for
This book is intended for Python developers who want to create web applications but have little or no experience in web development. If you have used other web frameworks but are looking for one that enables you to create more complex applications without losing agility, you will also benefit from this book.
The reader is expected to have some basic Python knowledge and at least a general idea of how a web application works.
About the Author
Carlos has been doing web consulting and development since 1994, when selling any kind of project required two meetings just to explain what the Internet was in the first place. He was the co-founder of Aldea Systems, a web consulting company where he spent ten years working in all kinds of web projects using a diverse range of languages and tools. In 2005 he became an independent developer and consultant, specializing in Zope and Plone projects. He frequently blogs about Plone and other Zope-related subjects.
Product Details
* Paperback: 308 pages
* Publisher: Packt Publishing (February 28, 2010)
* Language: English
* ISBN-10: 1847197485
* ISBN-13: 978-1847197481