Author: Ron DuPlain
Publisher: Packt Publishing
Audience: Intermediate Python programmers
Reviewer: Mike Driscoll
This book in Packt Publish Instant series set out to create a fully functional scheduling application in Flask, one of Python’s micro-web frameworks.
Packt Publishing has recently started releasing its Instant line of books. These books are all short. In the case of Instant Flask Web Development, the book clocked in at 78 pages, including all the boilerplate Packt adds to the beginning and end.
This is not a book for programmer beginners. The author assumes the reader knows Python and spends absolutely no time explaining how Python works. This isn’t a bad thing as a lot of books waste about a third of their content explaining beginner concepts rather than focusing on their core topic. It is also a cookbook of sorts, as each section is a recipe that is labeled either Simple, Intermediate or Advanced.
Let’s talk a little about what the book covers. The premise of the book is to create a fully functional scheduling application in Flask. Mr. DuPlain talks about handling requests / responses, static files, forms, using a database (via Flask-SQLAlchemy), templating with Jinja, error responses, authenticating users, sessions and deployment. The author spends the bulk of the book explaining request/response handing and working with the database (how to add, edit, delete, and query). There are lots of interesting plugins, such as Flask-WTForms, and how they work. You’ll find yourself wanting to click on all the various resource links that the author provides so that you can learn all kinds of other things outside of the book. I think this is what the book does best: whetting your appetite such that you want to learn more and more.
There are points in the book that took several readings to understand what the author was talking about. There are also some incomplete code examples and others have gaps in them that the reader is supposed to know how to fill in. I found one example on page 46 that had two return statements indented to the same level such that the second one would never be reached. These are nitpicky issues, I know, but some readers will find this confusing if they are trying to use the code straight from the book.
Speaking of code, the source that Packt provides only has the final version of the code. I actually like to see the code for each chapter or recipe to see how it evolves, but that’s a personal preference.
While there are some rough edges here and there in the book, I found it a worthwhile read. I found myself wanting to learn more about Flask and its plugins when I finished reading it. So if you’re interested in learning about one of Python’s micro-web frameworks, I think this book will help you get started.