CARVIEW |
Grok 1.0 Web Development
Formats:

save 15%!
save 44%!

Also available on: |
![]() ![]() ![]() ![]() |
- Develop efficient and powerful web applications and web sites from start to finish using Grok, which is based on Zope 3
- Integrate your applications or web sites with relational databases easily
- Extend your applications using the power of the Zope Toolkit
- Easy-to-follow and packed with practical, working code with clear explanations
Book Details
Language : EnglishPaperback : 308 pages [ 235mm x 191mm ]
Release Date : February 2010
ISBN : 1847197485
ISBN 13 : 9781847197481
Author(s) : Carlos de la Guardia
Topics and Technologies : All Books, Open Source, Python, Web Development
Table of Contents
Preface
Chapter 1: Getting to Know Grok
Chapter 2: Getting Started with Grok
Chapter 3: Views
Chapter 4: Models
Chapter 5: Forms
Chapter 6: The Catalog: An Object-Oriented Search Engine
Chapter 7: Security
Chapter 8: Application Presentation and Page Layout
Chapter 9: Grok and the ZODB
Chapter 10: Grok and Relational Databases
Chapter 11: Key Concepts Behind Grok
Chapter 12: Grokkers, Martian, and Agile Configuration
Chapter 13: Testing and Debugging
Chapter 14: Deployment
Index
Carlos de la Guardia
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.
Sample chapters
You can view our sample chapters and prefaces of this title on PacktLib or download sample chapters in PDF format.
Code Downloads
Download the code and support files for this book.
Errata
- 11 submitted: last submission 29 Dec 2011Errata type: Technical| Page number: 21 |
The last command on the page: # virtualenv --no-site-packages–no-site-packages–no-site-packages testgrok should be: # virtualenv --no-site-packages testgrok
Errata type: Technical | Page number: 23 |
Note: Sometimes, grokproject may fail during install due to external factors, such as a bad internet connection. When this happens, you might end up with a broken installation. To fix this, run the bin\buildout.exe script from the top directory of the installation
Errata type: Technical | Page number: 13 |
TA designer using a WYSIWYG tool will see the words "A simple multiplication" should be: A designer using a WYSIWYG tool will see the words "Me Grok can multiply"
Errata type: Technical | Page number: 36 |
Description: The name of the list of weapons should be 'weapons' instead of 'weapon'. This affects two sentences: 1) To see how it works, suppose that we have a list of weapons that is passed to the template as an attribute of the view, with the name weapon: should be To see how it works, suppose that we have a list of weapons that is passed to the template as an attribute of the view, with the name weapons: 2) If weapon contains the list ['Rock','Club','Spear'], the template will be rendered like this: should be: If weapons contains the list ['Rock','Club','Spear'], the template will be rendered like this:
Errata type: Technical | Page number: 13 |
The line "bin/paster serve etc/deploy.ini" should read "bin/paster serve parts/etc/deploy.ini" instead.
Errata type: Technical| Page number: 48 |
Second block of code, third line: tal:attributes="name string:item_{repeat/item/index}; should contain a $-sign: tal:attributes="name string:item_${repeat/item/index}; php
Errata type: Technical | Page number: 54 |
The 10th line: string:delete_${rep eat/item/index}; should be: string:delete_${repeat/item/index}; The 19th line: name="item_description"> should be: name="item_description"/>
Errata type: Technical | Page number: 65 |
The 4th line self.context.p_changed_ = True should be: self.context._p_changed = True
Errata type: Technical | Page number: 176 |
The indentation of the close method does not match the class as it should.
Errata type: Technical | Page number: 234 |
The line "password, del ivery, permission" should read "password, delivery, permission" instead.
Errata type: Technical | Page number: 241 |
The line ":unittestt" should probably read ":unittest" instead.
Submit Errata
Please let us know if you have found any errors not listed on this list by completing our errata submission form. Our editors will check them and add them to this list. Thank you.
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
Special Offers

Annual subscription:
$220.00 per annum
Monthly subscription:
$21.99 per month
In Detail
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.
A concise, practical guide for creating powerful web applications and web sites with ease
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 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.
Alternative Books
Have a look at these alternative products. Remember that if you buy two eBooks, you get 50% off both.
-
- Covers everything you need to test your code in Python
- Easiest and enjoyable approach to learn Python testing
- Write, execute, and understand the result of tests in the unit test framework
- Packed with step-by-step examples and clear explanations
-
- Learn Python development best practices from an expert, with detailed coverage of naming and coding conventions
- Apply object-oriented principles, design patterns, and advanced syntax tricks
- Manage your code with distributed version control
- Profile and optimize your code
- Proactive test-driven development and continuous integration
- Read Chapter 10 Documenting Your Project [PDF 3 MB]
-
- Create custom content types, add utilities, and internationalize your applications using Plone products
- Manage site installation, configuration, and customization with code instead of manual actions that are likely to be forgotten
- Guarantee your code operation and performance by including automatic testing and caching techniques
- Part of Packt's Cookbook series: Each recipe is a carefully organized sequence of instructions to complete the task as efficiently as possible.
-
- Deploy, embed, and integrate Solr with a host of programming languages
- Implement faceting in e-commerce and other sites to summarize and navigate the results of a text search
- Enhance your search by highlighting search results, offering spell-corrections, auto-suggest, finding “similar” records, boosting records and fields for scoring, phonetic matching
- Informative and practical approach to development with fully working examples of integrating a variety of technologies
- Written and tested for Solr 1.4 pre-release 2009.08
-
- Enable instructors and staff to represent courses using Plone's built-in content types—news items, collections, and events—without writing a single line of code
- Embed sound and video into your course materials, news feeds, or anywhere on your Plone site
- Written by Erik Rose—member of the Plone 4 and 5 Framework Teams
- Expert guidance on using the best plug-ins so that you can get the best out of your site right from the beginning
-
- Get a Plone-based website up and running quickly without dealing with code
- Beginner's guide with easy-to-follow instructions and screenshots
- Learn how to make the best use of Plone's out-of-the-box features
- Customize security, look-and-feel, and many other aspects of Plone
-
- Covers Plone basics from a site administrator's perspective
- Learn how to use Buildout to develop, deploy, and maintain a modern Plone site
- Enhance the functionality and appearance of your web site by using third-party add-ons
- Features many useful Buildout recipes from the Python Package Index
- Written by Alex Clark, an expert Plone site administrator and member of the plone.org infrastructure team
-
New jQuery Book Released jQuery Tools UI Library will show you how to add useful functionality to your website, using the compact but powerful jQuery Tools library.Get inspiration for developing your own ideas with the book.
Learn More Download a free chapter - Quickly look up features of the jQuery library
- Step through each function, method, and selector expression in the jQuery library with an easy-to-follow approach
- Understand the anatomy of a jQuery script
- Write your own plug-ins using jQuery's powerful plug-in architecture
- Written by the creators of learningquery.com
- Check out the new Learning jQuery Third Edition here
![]() |
RSS Feed |
![]() |
Sign up to Packt's newsletter |
![]() |
Follow Packt at Twitter |
![]() |
Join our Facebook Group |
Customer service body text... insert content here.
Returns Centre body text... insert content here.
Packt Updates
To submit your images Click Here
Click here to view Packt's cookie policy. This explains the cookies on Packt's website, and why we use them. It also explains information on how to manage your cookies.
By closing this banner, you are consenting to our use of cookies on your device, unless you have disabled them in your browser.